Compare commits

...

2914 Commits

Author SHA1 Message Date
a79f9c93c9 Merge pull request #906 from cconlon/tls13beta
wolfSSL 3.11.1 release, TLS 1.3 BETA
2017-05-11 11:46:10 -07:00
7d6597fe55 wolfSSL 3.11.1 release, TLS 1.3 BETA 2017-05-11 10:01:04 -06:00
dcc9f9ae63 Merge pull request #903 from SparkiDev/tls13_interop3
Interop testing fixes
2017-05-10 23:04:56 -07:00
22ce2f183d Interop testing fixes
Fix TLS13 cipher suite name to CHACHA20
Include SignatureAlgorithm in older versions of TLS when compiling for
TLS v1.3.
BIT STRING unused bits doesn't necessarily indicate last unused bit.
Fix ecc_dsa_sa_algo value.
2017-05-11 10:42:09 +10:00
01586b26ae Merge pull request #902 from SparkiDev/tls13_interop2
TLS v1.3 Interop changes
2017-05-10 09:28:22 -07:00
ec6d8f48b8 Add PSS for TLS v1.3 2017-05-10 17:22:53 +10:00
df3abee72c TLS v1.3 Interop changes
Added Curve25519 for TLS v1.3 only. Curve25519 won't work with older
protocol versions.
Always send signature algorithm extension in TLS v1.3 for server
certificates. If only doing PSK doesn't need to be sent though.
2017-05-10 15:16:27 +10:00
dea092fa0a Merge pull request #901 from SparkiDev/tls13_interop
TLS v1.3 interop fixes
2017-05-09 09:08:31 -07:00
46c4adcf4c TLS v1.3 interop fixes 2017-05-09 14:49:21 +10:00
285a338054 Merge pull request #899 from kaleb-himes/release-update
Credit E.S. from W.A. with report of DTLS interop bug
2017-05-08 12:06:41 -06:00
7b6e2b1002 Credit E.S. from W.A. with report of DTLS interop bug 2017-05-08 10:26:08 -06:00
d23f1e5637 Merge pull request #895 from JacobBarthelmeh/Testing
use type with XFREE
2017-05-05 16:27:03 -07:00
176193a835 Merge pull request #877 from dgarske/tls13
Add TLS 1.3 support
2017-05-05 12:50:40 -07:00
a4ceeed462 use type with XFREE 2017-05-05 13:27:33 -06:00
af0103bc94 Fix for Valgrind memory leak with the “ssl->hsHashes”. The DTLS wolfSSL_connect for “IsDtlsNotSctpMode” at line 8134 calls InitHandshakeHashes, but doesn’t free existing. Best overall solution is to make sure and free an existing on InitHandshakeHashes, since WOLFSSL is memset to 0. 2017-05-04 14:51:31 -07:00
758c2a761c Increase timeout on ready file for tls13.test 2017-05-04 14:51:31 -07:00
902f5cf53f Stack size enabled config fix 2017-05-04 14:51:31 -07:00
f0204de881 Fix for async and tls13 config 2017-05-04 14:51:31 -07:00
570befb63f Fixes for using async. Combine duplicate DoCertificate and DoTls13Certificate code into ProcessPeerCerts. Cleanup of the XMALLOC/XFREE to use ssl->heap. 2017-05-04 14:51:31 -07:00
efb4b3c183 Fix for unit test with non-blocking set. 2017-05-04 14:51:31 -07:00
253140f37e Fixes for TLS 1.3. Fix issue with wc_AesGcmDecrypt checking for authIn arg (allowed to be NULL). Fix for preMasterSz in TLSX_KeyShare_ProcessEcc. Fix for building with --disable-asn (NO_CERTS). Fix to remove client “-t” option from help, which no longer exists. Added new WOLFSSL_DEBUG_TLS option for new messages added. 2017-05-04 14:51:31 -07:00
77f9126edf Rebase fixes for TLS 1.3. Getting a decrypt error with the TLS 1.3 test from the SendTls13CertificateVerify. 2017-05-04 14:51:31 -07:00
2b1e9973ec Add TLS v1.3 as an option 2017-05-04 14:51:30 -07:00
edf5d6d777 Merge pull request #894 from JacobBarthelmeh/Release
Prepare for release 3.11.0
2017-05-04 14:49:43 -07:00
b51643c344 prepare for release version 3.11.0 2017-05-04 14:17:35 -06:00
7dd877554b build for windows visual studio with AES GCM 2017-05-04 14:14:12 -06:00
9b5340d3af sanity checks before copying copying peer certificate 2017-05-04 13:10:46 -06:00
bfc43cee15 Merge pull request #893 from cconlon/pkcs7-valgrind-fix
fix PKCS7 signedData valgrind issue
2017-05-03 18:14:32 -07:00
5e06d59c79 fix PKCS7 signedData valgrind issue 2017-05-03 17:16:44 -06:00
e771611c29 Merge pull request #891 from JacobBarthelmeh/Testing
sanity check on input buffer index
2017-05-03 12:13:43 -07:00
86f10086bb Merge pull request #890 from dgarske/fix_sb_sni
Fix for scan build warning for `TLSX_SNI_GetRequest` possible use of null ptr
2017-05-03 10:03:59 -07:00
55538b5de0 sanity check on input buffer index 2017-05-03 10:21:03 -06:00
338194be25 Fix for scan build warning for TLSX_SNI_GetRequest possible use of null pointer. 2017-05-03 07:33:13 -07:00
1dc5a0fba2 Merge pull request #889 from JacobBarthelmeh/master
add digsigku to renewcerts script and update the not after date
2017-05-02 19:59:07 -07:00
a8a5841b7c Merge pull request #888 from JacobBarthelmeh/Testing
Testing
2017-05-02 17:52:14 -07:00
4c8fdf99c5 add digsigku to renewcerts script and update the not after date 2017-05-02 18:08:10 -06:00
8146f73eff warnings when using g++ compiler 2017-05-02 15:20:20 -06:00
aa990ed1ce in error case close FILE 2017-05-02 14:54:27 -06:00
dbb67d8582 warnings for builds of haproxy, nginx, and leanpsk 2017-05-02 14:29:53 -06:00
0532adf653 Merge pull request #887 from dgarske/minor_cleanups
Added return code checking for `wolfCrypt_Init()`
2017-05-02 12:19:12 -07:00
ddcf11011e Added return code checking for wolfCrypt_Init(). Added initRefCount check on wolfCrypt_Cleanup(). Fix link for tenAsys INtime RTOS readme. 2017-05-02 10:20:31 -07:00
27aafd674a Merge pull request #886 from dgarske/fixes_coverity2
Fixes for coverity scan (part 2)
2017-05-02 08:53:03 -07:00
8d032081ae Merge pull request #767 from shihrer/hexiwear_pr
Hexiwear changes and KDS Project for Hexiwear platform
2017-05-02 07:31:41 -06:00
4135279f82 Merge pull request #843 from kaleb-himes/dtls-interop
DTLS update per RFC 6347 Section 4.2.3
2017-05-01 19:29:27 -07:00
f61380da21 Merge pull request #870 from kaleb-himes/PSK-UPDATE
Update PSK identity length per RFC 4279 - section 5.3
2017-05-01 19:04:32 -07:00
3647e50c17 Fixes for the GrowInputBuffer and GrowOutputBuffer changes to only use align when WOLFSSL_GENERAL_ALIGNMENT > 0. 2017-05-01 18:48:54 -07:00
9491027c85 Fixes for coverity scan (part 2). 2017-05-01 16:34:24 -07:00
1a0b408658 Merge pull request #883 from dgarske/fixes_coverity
Fixes for coverity scan
2017-05-01 16:30:04 -07:00
9655a1e38c Merge pull request #885 from dgarske/async_cavium
Fixes for Cavium Nitrox with async
2017-05-01 13:36:59 -07:00
f19cf4cb34 Fix the client PSK callback to always null terminate after callback. Remove the +1 on the test.h examples for PSK callbacks. 2017-05-01 12:10:05 -07:00
7a1776e931 Merge pull request #881 from cconlon/sniffer
fix sniffer with AES-GCM, add scratch authTag buffer
2017-05-01 11:51:01 -07:00
893b6f7d75 Merge pull request #884 from JacobBarthelmeh/Testing
fix warnings and errors with FreeBSD PowerPC
2017-05-01 11:37:04 -07:00
9269298034 Merge branch 'hexiwear_pr' of https://github.com/shihrer/wolfssl into hexiwear_pr 2017-05-01 12:04:35 -06:00
abe5a318f2 Added hexiwear to include.am and removed dev environment specific variable 2017-05-01 10:44:09 -06:00
2de6c88b80 correct typo when checking if variable rng is null 2017-04-30 18:53:58 -06:00
7270134aec Merge pull request #788 from takotakot/readme
Fix spacing and comma
2017-04-30 06:48:45 +09:00
450ff55d83 fix warnings and errors with FreeBSD PowerPC 2017-04-28 17:57:48 -06:00
db63fe83d4 Initial pass at fixes for coverity scan. 2017-04-28 14:59:45 -07:00
4387e1f08e Merge pull request #855 from insane-adding-machines/master
Added support for HAproxy load balancer
2017-04-28 13:10:58 -07:00
885b301e72 Merge pull request #882 from dgarske/fix_memleak
Fix memory leak with InitSSL having duplicate RNG creation code
2017-04-28 12:07:45 -07:00
c92b497ea3 Fix async merge error which duplicated the wolfSSL_new RNG creation and caused a memory leak. Fix for build error with plainDigestSz not being initialized. 2017-04-28 10:11:17 -07:00
ab78bd0d90 Merge pull request #880 from dgarske/intime_rtos2
tenAsys INtime RTOS port fixes from customer peer review
2017-04-27 21:47:53 -07:00
b8917baa6a fix sniffer with AES-GCM, add scratch authTag buffer 2017-04-27 15:22:30 -06:00
053594eb98 Workaround for expected failed RSA operations in test.c not failing for Cavium Nitrox V. 2017-04-27 14:21:38 -07:00
2deced22dc Merge pull request #879 from dgarske/fix_builderrors2
Fix for scan-build issues with possible use of null’s
2017-04-27 15:06:37 -06:00
b61f279b61 Merge pull request #878 from cconlon/serialfix
skip removal of leading zero in GetASNInt() when INTEGER is only a si…
2017-04-27 13:13:21 -07:00
a4efaf5eaa Fix mutex to use single count for semaphore so behavior is like mutex. Fix typo with “received”. Fix for mp_clear with fast math to do null check on arg (noticed null with ecc make key benchmark with wc_ecc_free). 2017-04-27 13:09:11 -07:00
3e6243eb08 Fix for scan-build issues with possible use of null’s in evp.c wolfSSL_EVP_CipherFinal out arg and DoCertificate args->certs. Removed obsolete client example help arg “-t”. 2017-04-27 10:53:47 -07:00
8118762dc4 skip removal of leading zero in GetASNInt() when INTEGER is only a single zero byte 2017-04-27 11:07:59 -06:00
fd2996bdeb Progress with RSA fixes for Cavium Nitrox after async refactor. Improved method for RsaKey and ecc_key typedef to work with async. 2017-04-26 16:40:10 -07:00
774ce1a47c Fixes for build with Cavium. 2017-04-26 16:39:41 -07:00
4363cf8a5c Merge pull request #876 from dgarske/fix_jenkins_errors
Fix minor build errors and warnings
2017-04-26 16:54:49 -06:00
d612b827b7 Fixes for build warnings on Windows. Fix PKCS7 to use const for byte array declaration. Cleanup of the pkcs7 MAX_PKCS7_DIGEST_SZ. Fix for unsigned / signed comparison warning for pkcs7_load_certs_keys in test.c. Fix for cast warning from word16 to byte in asn.c. Fix for build error with io.h refactor for InTime RTOS. 2017-04-26 09:40:33 -07:00
325a3ce418 Merge pull request #875 from dgarske/fix_asn_setname_len
Fix issue with ASN encoding SetName function header length
2017-04-26 10:03:25 -06:00
5a77eaa579 Fix issue with XFREE in asn.c using invalid heap pointer. Fix issue with bad variable names and missing asterisk in test.c pkcs7_load_certs_keys. 2017-04-26 08:45:05 -07:00
7db30ef550 Merge pull request #690 from embray/build/enable_aes_counter
Add a configure flag specifically for enabling AES CTR mode
2017-04-25 15:14:13 -07:00
1f923a11ee Merge pull request #874 from dgarske/fix_builderrors
Build fixes to address Jenkins reports
2017-04-25 15:14:37 -06:00
ac2835ec2e Merge pull request #873 from dgarske/fix_crl_smallstack
Fix build error with CRL and WOLFSSL_SMALL_STACK.
2017-04-25 15:02:04 -06:00
d435c16fe8 Fix issue with ASN encoding, where the SetName function was incorrectly adding extra byte for object id tag. Refactor changed lines 7694 and 7700 to use SetObjectId which handles length (was using SetLength prior to refactor). Issue was noticed via compatibility testing using generated cert against openssl asn1parse. 2017-04-25 12:06:08 -07:00
fb90a4e498 Fix issue with PSK max length by adding 1 for the null terminator on the strings and allowing up to 128 characters for the PSK. Improved the test.h example for PSK callbacks. 2017-04-25 11:43:45 -07:00
be6b12a350 Build fixes to address Jenkins reports. Additionally tested with enable-distro and small-stack identified issue in ssl.c (note: we need to add this combination to Jenkins). 2017-04-25 11:10:36 -07:00
92d3c7cd59 Merge pull request #872 from JacobBarthelmeh/Testing
handle redefinition warnings
2017-04-24 15:08:13 -07:00
8b0784bdfa Fix build error with CRL and WOLFSSL_SMALL_STACK. 2017-04-24 14:08:59 -07:00
4dad4b6962 handle redefinition warnings 2017-04-24 10:40:56 -06:00
dd2915f4fa Merge pull request #869 from cconlon/ecckeytoder
Fix leading zero in wc_BuildEccKeyDer
2017-04-24 09:02:41 -07:00
08787621ea wolfssl.pc: Prefix reset to /usr/local 2017-04-24 12:45:23 +02:00
6ada67f93f Prefix stubs with wolfSSL_ 2017-04-24 11:43:19 +02:00
7bd7de350c More fixes for haproxy port 2017-04-24 10:41:39 +02:00
7058211860 Merge from latest masterbranch 2017-04-24 06:18:44 +02:00
ebb32265eb Minor fixes after PR review 2017-04-24 06:16:35 +02:00
db835da00b Fixes after wolfSSL feedback 2017-04-22 10:58:05 +02:00
348536af9a Update PSK identity length per RFC 4279 - 5.3 2017-04-21 16:38:19 -06:00
3600371abf Merge pull request #848 from ghoso/des_ecb_encrypt_impl
openSSL compatibility API
2017-04-21 14:05:22 -06:00
af26708330 Fix leading zero in wc_BuildEccKeyDer 2017-04-21 11:40:50 -06:00
7a3f7ad9be Merge pull request #868 from kaleb-himes/ARDUINO-UPDATE
Update ARDUINO script per issue #859 from @pasko-zh
2017-04-20 17:02:49 -07:00
a857da23c0 Merge pull request #862 from kaleb-himes/STUNNEL-FIX
Fix this issue: PKCS12 is defined to be WC_PKCS12, then redefined as an enumerated value of 12 in asn.h
2017-04-20 13:24:39 -07:00
1dd16e6702 Update enum name from peer review 2017-04-20 10:05:12 -06:00
c9d53a4ca2 Merge pull request #854 from NickolasLapp/master
Add AES 192/256 bit wolfCrypt tests
2017-04-19 16:50:18 -07:00
d6abd4d131 Merge pull request #867 from JacobBarthelmeh/mutex
fix mutex allocation sanity checks
2017-04-19 13:32:55 -07:00
a8eb2614f6 Update reference for aes192/256 test to remove bad url and give specific
NIST reference document.
2017-04-19 13:13:34 -06:00
14e37cdc4c Change variable name, add comment 2017-04-19 13:10:55 -06:00
5b257d6fd8 Merge pull request #866 from JacobBarthelmeh/Testing
add back in haveTrustPeer variable and put macro guard on WC_RNG typedef
2017-04-19 11:57:56 -07:00
32e83cb55d Update ARDUINO script per issue #859 from @pasko-zh 2017-04-19 11:53:58 -06:00
344c0ec747 Merge branch 'master' of github.com:wolfSSL/wolfssl 2017-04-19 10:10:23 -06:00
4eecaf2574 fix mutex allocation sanity checks 2017-04-18 17:18:19 -06:00
a8115d51fa add back in haveTrustPeer variable and put macro guard on WC_RNG typedef 2017-04-18 16:53:02 -06:00
5b82c2f6ec Merge pull request #853 from JacobBarthelmeh/Windows
testsuite time check on Windows system and fix dh_test if statement
2017-04-18 14:57:53 -07:00
3279865610 Fixes after jenkins report
https://test.wolfssl.com/jenkins/job/windows_pull_request_builder/1453/
2017-04-18 18:47:04 +02:00
bf877a636f Merge from masterbranch 2017-04-18 18:34:14 +02:00
7df7a07a68 Merge pull request #863 from JacobBarthelmeh/Testing
fix old version of AEAD cipher suite
2017-04-18 09:33:00 -07:00
8e7d0ba243 Merge pull request #860 from dgarske/fix_allow_old_tls_wsha1
Fix for building with NO_OLD_TLS and WOLFSSL_ALLOW_TLS_SHA1
2017-04-18 09:31:45 -07:00
fbd5d5bfc6 Merge pull request #865 from cconlon/pkcs7-signed-ecc
PKCS#7 SignedData - ECDSA and hash options
2017-04-18 09:30:47 -07:00
bab3fd5925 fix clang/scan-build warnings for PKCS7 2017-04-17 14:23:37 -06:00
4f26e0341b allow different hashes with PKCS7 SignedData, cleanup conditional builds 2017-04-17 09:46:26 -06:00
b08e5f3b82 Merge branch 'master' into hexiwear_pr 2017-04-14 12:03:42 -06:00
53eca92cc0 change type for test instead and add RSA blinding check 2017-04-14 12:02:49 -06:00
21d2becd6b Modified settings.h to allow building on KSDK 1.3, modified test.c and benchmark.c to work with KSDK, added KDS project for building wolfSSL for Hexiwear 2017-04-14 12:02:28 -06:00
999328f2a0 fix old version of AEAD cipher suite 2017-04-14 10:32:15 -06:00
3f067bccf0 fix redefinition of PKCS12 version and PKCS12 struct when building w/ STUNNEL 2017-04-14 10:20:35 -06:00
74aafb1679 add PKCS7 SignedData with ECDSA 2017-04-14 09:29:22 -06:00
7779a64cae Fix for building with NO_OLD_TLS and WOLFSSL_ALLOW_TLS_SHA1. 2017-04-13 21:26:20 -07:00
f2ac410f1e Merge pull request #858 from dgarske/fix_bench_count
Fix build/test error with `--enable-scrypt` and build error for ARMv8 AES init
2017-04-13 21:14:44 -07:00
ebde18af59 silence static analysis tool warning about null parameter after sanity check 2017-04-13 15:32:31 -06:00
620d21c850 fix scrypt test with no password 2017-04-13 15:06:26 -06:00
3df47d57ab Fix error with armv8-aes wc_AesInit function using h instead of heap variable. (moved from PR #852). 2017-04-13 14:50:55 -06:00
4c6a70861b Fix build errors with --enable-scrypt. 2017-04-13 09:37:48 -07:00
723ee69114 Fixed missing braces in wolfcrypt test 2017-04-13 15:31:50 +02:00
ef231a039d Updated to latest masterbranch 2017-04-13 15:28:19 +02:00
fe215c4a57 Fix DES_ecb_encrypt function in terms of reviewing point. 2017-04-13 12:31:52 +09:00
460197a5e0 Add aes192 and aes256 tests
Fix bug with AES decrypt for non-128 bit sizes on STM32F4 hardware
crypto
2017-04-12 20:09:47 -06:00
3ac35ce3b3 Merge pull request #838 from SparkiDev/curve25519_51-bit
Curve25519 51-bit Implementation
2017-04-12 16:06:37 -06:00
26c8958d1e testsuite time check on Windows system and fix dh_test if statement 2017-04-12 15:56:45 -06:00
8ee9e4ff8b Merge pull request #851 from toddouska/nosessid
don't send session ID on server side if session cache is off unless w…
2017-04-12 14:50:43 -07:00
3abcff4db5 Merge pull request #850 from JacobBarthelmeh/Testing
fix invalid check on unsigned type
2017-04-12 13:56:44 -07:00
27d009475c Merge pull request #847 from dgarske/distro_options
Fixes for --enable-distro to include more features by default
2017-04-12 13:56:24 -07:00
e1a53a6c36 Merge pull request #845 from SparkiDev/cert_file
Rename caCertFile
2017-04-12 13:55:56 -07:00
4f7b27fc88 Merge pull request #844 from SparkiDev/size_t-printf
32-bit size_t and printf fix
2017-04-12 13:54:52 -07:00
3810571e0d Merge pull request #715 from dgarske/async_intelqa
Intel QuickAssist (QAT) support and async enhancements/fixes
2017-04-12 13:54:19 -07:00
b1d59a2334 don't send session ID on server side if session cache is off unless we're echoing session ID as part of session tickets 2017-04-12 10:54:19 -07:00
11133e578d Fixes and cleanups based on feedback from Sean. Added ifdef checks around WC_PENDING_E code to reduce code size for non-async builds. Cleanup accumulative result code checking in SSL_hmac. Cleanup of the RSA async state advancement. 2017-04-12 10:07:38 -07:00
b510c8199e fix invalid check on unsigned type 2017-04-12 10:41:35 -06:00
df70b3c859 Removed empty ifdef 2017-04-12 12:50:17 +02:00
3e9a5fd433 Updated to latest masterbranch 2017-04-12 12:48:38 +02:00
9ca49e7f56 Add more stubs for haproxy 2017-04-12 11:59:17 +02:00
02513792b6 Make new function stubs public 2017-04-12 10:37:17 +02:00
d0f31d4a30 Fix issue with wc_ecc_make_key where state failure can occur if the wc_ecc_init hasn’t been called on key prior. Now wc_ecc_make_key and wc_ecc_import_private_key (and _ex versions) can be called without having to call wc_ecc_init first. This keeps backwards compatibility. If async or static memory is desired then wc_ecc_init_ex must be called first. 2017-04-11 15:57:09 -07:00
85bef98331 Fix wc_ecc_alloc_rs memset logic. Fix error handling in hmac.c for SHA224. Cleanup of the wc_DhGenerateKeyPair_Async function. Added comment about the “BuildTlsFinished” allocation for hash buffer. Fixed issue with example server that caused the benchmark script to fail in throughput mode. 2017-04-11 14:13:08 -07:00
0cebc2172c Fix WolfSSL_DES_ecb_encrypt(). 2017-04-12 00:03:35 +09:00
d399b51ba8 Fix WolfSSL_DES_ecb_encrypt(). 2017-04-11 23:49:10 +09:00
de017b0028 Added stubs required to compile HAPROXY 2017-04-11 16:03:08 +02:00
8f300515bd Grouped HAPROXY compatibility into WOLFSSL_HAPROXY flag
now haproxy compatible wolfssl builds with:

./configure --prefix=/usr --sysconfdir=/etc --disable-fastmath \
iam * ] 2:18 PM
    --disable-fasthugemath --disable-bump \
    --enable-opensslextra \
    --enable-keygen --enable-certgen \
    --disable-ntru --disable-examples \
    --enable-tlsx --enable-haproxy \
    --enable-savecert --enable-savesession --enable-sessioncerts \
    --enable-webserver --enable-sslv3 --enable-stunnel
2017-04-11 14:18:41 +02:00
213afe18c3 Merge pull request #842 from JacobBarthelmeh/Testing
fix c32toa needed with --enable-session-ticket
2017-04-10 19:10:35 -07:00
eb1a191fd2 Refactor to add the wc_HmacInit and wc_HmacFree calls. 2017-04-10 14:47:08 -07:00
e419a6f899 Fixes and cleanups based on feedback from Sean. 2017-04-10 14:47:07 -07:00
62e7dc87c3 Fix merge error with verify callback and totalCerts. 2017-04-10 14:45:05 -07:00
56a1618ba0 Fixes to a few things based on peer review. 2017-04-10 14:45:05 -07:00
c1640e8a3d Intel QuickAssist (QAT) support and async enhancements/fixes:
* Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/).
* Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC.
* wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify.
* wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature.
* wolfCrypt test and benchmark async support added for all HW acceleration.
* wolfCrypt benchmark multi-threading support.
* Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA.
* Refactor to make sure “heap” is available for async dev init.
* Added async support for all examples for connect, accept, read and write.
* Added new WC_BIGINT (in wolfmath.c) for async hardware support.
* Added async simulator tests for DES3 CBC, AES CBC/GCM.
* Added QAT standalone build for unit testing.
* Added int return code to SHA and MD5 functions.
* Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer.
* Combined duplicate code for async push/pop handling.
* Refactor internal.c to add AllocKey / FreeKey.
* Refactor of hash init/free in TLS to use InitHashes and FreeHashes.
* Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*.
* Suppress error message for WC_PENDING_E.
* Implemented "wolfSSL_EVP_MD_CTX_init" to do memset.
* Cleanup of the openssl compat CTX sizes when async is enabled.
* Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability.
* Cleanup of the OPAQUE_LEN.
* Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret).
* Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations)
* Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding".
* Updated RSA un-padding error message so its different than one above it for better debugging.
* Added QAT async enables for each algorithm.
* Refactor of the async init to use _ex.
* Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing.
* Reformatted the benchmark results:
PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec"
Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87
* Added min execution time for all benchmarks.
* Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local.
* Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark.
* Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async.
* Added NO_SW_BENCH option to only run HW bench.
* Added support for PRNG to use hardware SHA256 if _wc devId provided.
* Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size.
* Added the wc_*GetHash calls to the wolfCrypt tests.
* Added async hardware start/stop to wolfSSL init/cleanup.
* Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos.
* Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`.
* Added arg checks on wc_*GetHash and wc_*Copy.
* Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions.
* Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator.
* Added checks for all hashing to verify valid ->buffLen.
* Fix for SHA512 scan-build warning about un-initialized “W_X”.
* Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash.
* Refactor of the benchmarking to use common function for start, check and finish of the stats.
* Fixed issue with ECC cache loading in multi-threading.
* Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned.
* Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define.
* Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-10 14:45:05 -07:00
dc65a9a277 Distro fix to enable SHA224 by default. Was causing Debian build error since SHA224 is enabled by default only for the x86_64 architecture. Updated --enable-distro option to include new features for aeskeywrap, x963kdf and scrypt. Changed the ECC custom curve option to enable all curve types when used with distro. 2017-04-10 11:45:26 -07:00
dccff615d5 Add wolfSSL_DES_ecb_encrypt() encrypt/decrypt parameter check. 2017-04-10 16:19:44 +09:00
97c22c88d8 Add test result message for test_wolfSSL_DES_ecb_encrypt(). 2017-04-10 15:37:47 +09:00
27c6625bfe Fix #ifdef in WolfSSL_DES_ecb_encrypt and test_WolfSSL_DES_ecb_encrypt. 2017-04-10 14:44:48 +09:00
5edcf685ca Rename caCertFile 2017-04-10 10:38:16 +10:00
335b6d41c1 32-bit size_t and printf fix 2017-04-10 10:26:36 +10:00
cbe46f8d74 Include new file in dist 2017-04-10 08:30:44 +10:00
b19cf2cfb8 Add test_wolfSSL_DES_ecb_encrypt() 2017-04-08 17:03:58 +09:00
e8971c361a Merge pull request #830 from kaleb-himes/suite-typo
Fixes for using default ciphers
2017-04-07 17:20:54 -07:00
8953ed9f30 DTLS update per RFC 6347 Section 4.2.3 2017-04-07 14:26:33 -06:00
80d88b9421 fix c32toa needed with --enable-session-ticket 2017-04-07 11:46:27 -06:00
4ff2903b55 Fix to allow anonymous ciphers to work with the new default suite testing. 2017-04-07 10:20:41 -07:00
eb40175cc6 Fix to calc BuildSHA_CertVerify if WOLFSSL_ALLOW_TLS_SHA1. Fix to add check for DTLS to not allow stream ciphers. Removed the RC4 tests from the test-dtls.conf. Added support for using default suites on client side. Switched the arg to “-H”. Cleanup of the example server/client args list. Fixes for build with “--disable-sha”. 2017-04-07 10:20:41 -07:00
6a1ae7ee5b Fix on server side to make sure SHA hash is setup even with NO_OLD_TLS. Fix to initialize hsHashes to zero. Fix in PickHashSigAlgo to not default to SHA if NO_OLD_TLS is defined (unless WOLFSSL_ALLOW_TLS_SHA1 is set). Fix to allow pre TLS 1.2 for “AES128-SHA256” and “AES256-SHA256”. 2017-04-07 10:20:18 -07:00
b14da2622e Fix InitSuites to allow old TLS for DHE_RSA with AES 128/256 for SHA256. Reverted changes to test.conf and test-dtls.conf. 2017-04-07 10:20:18 -07:00
4dcad96f97 Added test for server to use the default cipher suite list using new “-U” option. This allows the InitSuites logic to be used for determining cipher suites instead of always overriding using the “-l” option. Now both versions are used, so tests are done with wolfSSL_CTX_set_cipher_list and InitSuites. Removed a few cipher suite tests from test.conf that are not valid with old TLS. These were not picked up as failures before because wolfSSL_CTX_set_cipher_list matched on name only, allowing older versions to use the suite. 2017-04-07 10:20:18 -07:00
b827380baf Typo in cipher suite pre-processor macro 2017-04-07 10:19:24 -07:00
4e703b6805 Merge pull request #839 from JacobBarthelmeh/Testing
build with session tickets and without client
2017-04-07 09:39:47 -07:00
2b443a79f2 Merge pull request #836 from dgarske/stack_check_free
Fix leak in StackSizeCheck and build error with debug enabled
2017-04-07 09:35:01 -07:00
ecaaf19ebf Merge pull request #835 from dgarske/fix_name_conflict
Fix name conflicts in wolfCrypt test with --enable-stacksize
2017-04-07 09:33:00 -07:00
c466e3c078 Implements wolfSSL_DES_ecb_encrypt function. 2017-04-07 11:21:32 +09:00
2c13ea9a67 Cleanup name conflicts with test.h cert files (by adding “File” to end). Fix memory leak in ecc_test_buffers function. 2017-04-06 15:54:59 -07:00
b49a2561bc build with session tickets and without client 2017-04-06 16:19:21 -06:00
9ef26679df Merge pull request #833 from SparkiDev/asn_func
ASN Code Rework
2017-04-06 12:47:40 -07:00
bb8e67b79c Merge pull request #837 from cconlon/release-3.10.4
3.10.4 release
2017-04-06 11:39:31 -06:00
c8400e9ff1 Merge pull request #824 from dgarske/fix_asn_confirm_sig
Fix for return code checking on ConfirmSignature
2017-04-05 16:58:47 -07:00
b11bb5325a Implementation of 51-bit curve25519 2017-04-06 09:48:01 +10:00
c9bb75c0f3 3.10.4 release 2017-04-05 16:37:35 -06:00
d648d4f6c7 Fix leak in StackSizeCheck. Fix build error with debug enabled and stack size check. 2017-04-05 14:24:55 -07:00
338c70a1ab Merge pull request #834 from cconlon/ecc_name_from_params
add wc_ecc_get_curve_id_from_params()
2017-04-05 14:09:41 -07:00
3328b4d38b Cleanup the unit test naming for new signature failure tests. 2017-04-05 11:24:22 -07:00
0c61a5b1fd add invalid test case for wc_ecc_get_curve_id_from_params() 2017-04-05 11:18:47 -06:00
4eefa22629 Merge pull request #810 from toddouska/write-dup
add wolfSSL_write_dup(), creates write_only WOLFSSL to allow concurre…
2017-04-05 10:06:20 -06:00
15091675fe Fix VS warning about long to size_t conversion in load_buffer. 2017-04-05 07:23:53 -07:00
e101dfa26e add wc_ecc_get_curve_id_from_params() 2017-04-04 14:49:46 -06:00
deb80e5ddb Fix load_file/load_buffer enables. Fix error in load_buffer with “ret”. 2017-04-04 11:45:55 -07:00
e0a4758c0f Fixes with load_file helper to make sure return code is set correctly and args are initialized. 2017-04-04 11:40:54 -07:00
2aa523e0ea Added API unit test for certificate validation failure using corrupted signature in cert. 2017-04-04 11:15:32 -07:00
26f3924c93 Fix for return code checking on ConfirmSignature, so it returns actual error codes or 0 on success. 2017-04-04 10:55:22 -07:00
e740756706 Merge pull request #832 from toddouska/rdrand64
allow rdrand to use full 64bit output
2017-04-04 08:58:06 -07:00
36e81b650e Fix missing symbol for specific configs 2017-04-04 14:33:14 +10:00
683a655908 Starting 128-bit FE implementation 2017-04-04 14:17:54 +10:00
b02a75510e Fix Windows warnings 2017-04-04 11:19:06 +10:00
abaf820537 Improvements and comments 2017-04-04 10:42:04 +10:00
cd358bd2ab protect against multiple write dups 2017-04-03 15:58:33 -07:00
2d323dee42 Merge pull request #829 from cconlon/ecc_import
fix curve selection on ecc private only import
2017-04-03 15:44:42 -07:00
59dc839341 Merge pull request #819 from dgarske/test_static_fixes
Fixes for wolfCrypt test/benchmark with static memory
2017-04-03 15:25:45 -07:00
1d48fba032 allow rdrand to use full 64bit output 2017-04-03 15:08:35 -07:00
68076dee45 Merge pull request #805 from dgarske/rng_cleanup
Fix RNG issue with Intel RD and cleanup to remove old ARC4 support
2017-04-03 14:57:09 -07:00
29eabe5535 Better stack size check return code handling. 2017-04-03 09:41:12 -07:00
8cde26a6c5 fix curve selection on ecc private only import 2017-04-03 09:50:46 -06:00
e168d4db09 Merge pull request #821 from SparkiDev/wpas_fips
FIPS changes and fixups for wpa_supplicant
2017-04-03 08:27:25 -07:00
fd9e41dd99 ASN functions added to simplify code
Functions to get and set different ASN.1 tags have been added.
The functions are used in the asn.c file to simplify the code and ensure
all checks are done.
2017-04-03 16:56:21 +10:00
d69c860ab8 Fix bad #elif logic cleanup for using “USE_TEST_GENSEED”. 2017-03-31 13:16:21 -07:00
c532819659 Fixes for building with “CUSTOM_RAND_GENERATE_BLOCK”. Removed seed as backup RNG source. Fixed building on embedded system with time_t not defined (test.c should use long for asn_test). 2017-03-31 13:16:21 -07:00
69535198ca Fix RNG to only allow disabling HASHDRBG if CUSTOM_RAND_GENERATE_BLOCK is defined. Added support for CUSTOM_RAND_GENERATE_BLOCK with Intel RDRAND. 2017-03-31 13:16:21 -07:00
1251607b04 Retain existing HAVE_HASHDRBG functionality and only disable if ./configure --disable-hashdrbg or WC_NO_HASHDRBG defined. Fix use of warning with VS. Fix to only use rng seed as source if no DRBG. 2017-03-31 13:16:21 -07:00
5e3d8e705e Fix RNG issue with Intel RDRAND and RDSEED accelerations not being used because HAVE_HASHDRBG was always being defined if !WOLFSSL_FORCE_RC4_DRBG. Added new --enable-intelrand option to indicate use of RDRAND preference for RNG source (if RDRAND not supported by CPU then HASHDRBG will be used). The --enable-intelasm option enables the RDSEED support for seeding HASHDRBG if CPU supports it. Allow use of seed as RNG source if --disable-hashdbrg (shows build warning). Cleanup to remove old ARC4 RNG support. Fixed random_test return code with !HAVE_HASHDRBG. Cleanup of ./configure --help alignment. 2017-03-31 13:16:21 -07:00
34a4f1fae0 Move wolfCrypt test/benchmark to move static memory pool to global (not in stack). Fix wolfCrypt test wc_InitRng to use _ex with HEAP_HINT (when not FIPS). Added ability to use HAVE_STACK_SIZE with wolfCrypt test and benchmark. Cleanup of the benchmark_test function main wrapper. 2017-03-31 13:11:23 -07:00
ccad9f5575 Merge pull request #818 from dgarske/tkernel_port
TKernel port
2017-03-31 10:10:26 -07:00
9455c3b469 Merge pull request #826 from cconlon/ecc_adds
add XSTRLEN cast in ecc helper
2017-03-31 10:08:05 -07:00
6a4b71de05 Merge pull request #822 from JacobBarthelmeh/Testing
testing buffer size with const DH and remove redeclaration of WOLFSSL…
2017-03-31 08:53:49 -07:00
e1f6dbe74e add XSTRLEN cast in ecc helper 2017-03-31 09:17:42 -06:00
cc4cc41ccf Merge pull request #825 from cconlon/ecc_der
add EccPrivateKeyToDer()
2017-03-30 20:07:26 -07:00
5d840751c0 Merge pull request #823 from cconlon/ecc_adds
add ECC helpers to get size and id from curve name
2017-03-30 17:28:29 -07:00
4e829bc0a5 Fix to assign default OID for TLS supported curves based on loaded extension order. 2017-03-30 13:54:24 -07:00
507f052b3f ECC helper cleanup 2017-03-30 14:34:12 -06:00
6735dd7031 add EccPrivateKeyToDer() 2017-03-30 13:56:48 -06:00
347f4e3e4d Merge pull request #820 from JacobBarthelmeh/PKCS8
PKCS8 create function
2017-03-30 13:54:30 -06:00
61d82790e4 add ECC helpers to get size and id from curve name 2017-03-30 11:32:56 -06:00
5c2b5f86b9 testing buffer size with const DH and remove redeclaration of WOLFSSL_CRL 2017-03-30 10:53:13 -06:00
71b75efd63 move PKCS8 create function and remove PWDBASED requirement 2017-03-30 10:46:58 -06:00
c74c2ce00c FIPS changes and fixups
Enable ex data explicitly.
Keep the peer cert for verification callback.
External session cache for hostapd.
Enable DES_ECB when not FIPS.
Don't send the peer cert if it is not received from peer.
Initialize the peer cert after free as will be freed on tear down of
SSL.
Allow a server to become a client.
2017-03-30 11:53:35 +10:00
9ebfb0e953 make the function wc_CreatePKCS8Key public 2017-03-29 16:42:51 -06:00
5663fbf41a adjust placement of ECC curve OID in PKCS8 and add parameter notes 2017-03-29 16:17:54 -06:00
219fb584e2 fix for lenght of PKCS8 with ECC and for ECC get key algo ID 2017-03-29 16:17:26 -06:00
72d11e19cd add create PKCS8 key 2017-03-29 16:14:34 -06:00
36d9504bc3 Added NO_WRITE_TEMP_FILES option to prevent writing temp files during wolfCrypt test. 2017-03-28 19:37:55 -07:00
75abeaecfc Updates for TKernel port (WOLFSSL_uTKERNEL2). Added support for InterNiche prconnect_pro using WOLFSSL_PRCONNECT_PRO. Cleanup the min/max functions. Add NO_STDIO_FGETS_REMAP to not include the fgets remap for WOLFSSL_uTKERNEL2. Fix TFM build warning. Added HAVE_POCO_LIB. Added wolfCrypt test temp cert path for WOLFSSL_uTKERNEL2 = /uda/. Added WOLFSSL_CURRTIME_REMAP for benchmark to allow different function name to be used for system which have a conflicting name. Add ability to use normal malloc/free with WOLFSSL_uTKERNEL2 using NO_TKERNEL_MEM_POOL. Added new XMALLOC_OVERRIDE to allow custom XMALLOC/XFREE/XREALLOC macros. Move CUSTOM_RAND_GENERATE up in RNG choices. Rename tls.c STK macros due to conflict. 2017-03-28 19:10:19 -07:00
25779dfb4f Introduce HAPROXY config flag + get/set app_data 2017-03-28 13:28:36 +02:00
d94fcd8b69 Implemented wolfSSL_EVP_PKEY_base_id, wolfSSL_BIO_read_filename. Added wolfSSL_EVP_PKEY_type stub 2017-03-28 11:42:30 +02:00
14efd9735d Merge pull request #816 from kaleb-himes/eccCaKeyFile-undefined
Fix for: 'Fix for build error with unused eccCaKeyFile'
2017-03-27 21:18:46 -07:00
2bcb8e53fc Address case from review 2017-03-27 16:53:13 -06:00
5cffae2e3f Merge branch 'master' of https://github.com/wolfSSL/wolfssl into eccCaKeyFile-undefined 2017-03-27 16:52:51 -06:00
10bf955b70 Merge pull request #817 from kaleb-himes/ocsp-cert-update
add 'Class 3 Public Primary Certification Authority' to ocspstapling …
2017-03-27 15:21:55 -07:00
9c8574111e Merge pull request #815 from toddouska/switchcerts
better handling of TLS layer switching out CTX layer keys/certs
2017-03-27 15:57:58 -06:00
bddf0c52a6 add 'Class 3 Public Primary Certification Authority' to ocspstapling test certificate 2017-03-27 14:13:22 -06:00
00ca1dcbb7 Fix for: 'Fix for build error with unused eccCaKeyFile' 2017-03-24 14:01:06 -06:00
a7c131c0a1 fix vs warning 2017-03-24 11:19:01 -07:00
86efbbbb1d simplify reset suites on cert/key changes to end of function 2017-03-24 10:40:42 -07:00
4783fbfc4f better handling of TLS layer switching out CTX layer keys/certs 2017-03-24 10:19:01 -07:00
d8261796a6 Merge pull request #813 from cconlon/addcert
add server-keyPkcs8.der to include.am
2017-03-22 14:58:22 -07:00
a216da38d2 Merge pull request #798 from toddouska/trackmem
add deallocs to memory tracker
2017-03-22 13:59:29 -06:00
0983536c98 Merge pull request #814 from dgarske/fix_crl_redef
Fix build warning with redefinition of typedef 'WOLFSSL_CRL’
2017-03-22 08:59:02 -07:00
4e6f70e15e Merge pull request #784 from JacobBarthelmeh/Cert-Report2
error out with duplicate policy OID in a certificate policies extension
2017-03-21 15:21:46 -07:00
a6ecf793ba Merge pull request #806 from dgarske/tfm_heap_reduce
Reduce heap usage with fast math when not using ALT_ECC_SIZE
2017-03-21 15:21:09 -07:00
360fb2db0a Merge pull request #808 from kojo1/TrialProj
eccCaKeyFile in RSA/ECC test
2017-03-21 15:21:00 -07:00
3e2fe536ad Merge pull request #809 from JacobBarthelmeh/Testing
test case when not using RSA blinding
2017-03-21 15:18:53 -07:00
30024b7e7f Merge pull request #812 from SparkiDev/valgrind_ecc
Fix leak in test
2017-03-21 15:18:09 -07:00
d829e5ba5a Fix build warning with redefinition of typedef 'WOLFSSL_CRL’. 2017-03-21 09:13:50 -07:00
c46eb36b4e add server-keyPkcs8.der to include.am 2017-03-21 09:53:24 -06:00
7be1077216 Fix for build error with unused “eccCaKeyFile”. 2017-03-21 08:31:07 -07:00
8bf22b253a Fix leak in test
Use new points for compressed point testing.
2017-03-21 23:34:48 +10:00
15423428ed add wolfSSL_write_dup(), creates write_only WOLFSSL to allow concurrent access 2017-03-20 15:08:34 -07:00
f26d584cec test case when not using RSA blinding 2017-03-20 14:15:34 -06:00
4cb891334d Merge pull request #801 from toddouska/fipscheck
add keep option to fips-check.sh to keep FIPS temp folder around
2017-03-20 13:44:01 -06:00
15e442637d Fix “#error old TLS requires MD5 and SHA” to only occur if !WOLFCRYPT_ONLY. 2017-03-20 10:42:08 -07:00
e35489fd75 eccCaKeyFile in RSA/ECC test 2017-03-20 13:46:26 +09:00
52215b3ecf Merge pull request #734 from kaleb-himes/csharp-addition
Adds wrapper for CTX_load_verify_locations to C# wrapper
2017-03-17 18:18:17 -06:00
10bf3c4d1d Merge pull request #804 from SparkiDev/wpas_shared
Wpas shared
2017-03-17 16:15:51 -07:00
6cc42dcacb Reduce TFM fp_int size by only adding the “int size” if ALT_ECC_SIZE or WOLFSSL_ASYNC_CRYPT is defined. Fix couple of async build errors in wolfCrypt test. 2017-03-17 15:01:18 -07:00
3bb1723476 Merge pull request #768 from dgarske/crl_lookup
Added support for inline CRL lookup when HAVE_CRL_IO is defined
2017-03-17 12:18:45 -07:00
b9d3db8b47 Merge pull request #800 from SparkiDev/no_fs
If there is no filesystem then still compile and run
2017-03-17 12:08:49 -07:00
ad57738cc6 Merge pull request #795 from JacobBarthelmeh/Testing
bounds checking with adding string terminating character
2017-03-17 12:07:55 -07:00
db526999c3 Merge pull request #803 from dgarske/fix_int_cast_warn
Fix warning with "implicit conversion loses integer precision”.
2017-03-17 12:05:29 -07:00
c69dea624c Merge pull request #802 from cconlon/rsa_decode
add wc_GetPkcs8TraditionalOffset()
2017-03-17 12:04:44 -07:00
461f051ef1 Only expose ECC APIs on config define 2017-03-17 10:52:38 +10:00
37a52414cc Make MP and ECC APIs public
These APIs are needed by wpa_supplicant.
2017-03-17 10:23:37 +10:00
141210dcc0 Fix warning with "implicit conversion loses integer precision”. 2017-03-16 14:56:03 -07:00
3f33f2b995 add duplicate policy OID cert to dist 2017-03-16 15:49:40 -06:00
92587651c9 variable i is not used when WOLFSSL_SEP is enabled 2017-03-16 15:48:15 -06:00
faf2bacd56 error out with duplicate policy OID in a certificate policies extension 2017-03-16 15:48:15 -06:00
efc2bb43d2 add wc_GetPkcs8TraditionalOffset() 2017-03-16 15:14:20 -06:00
ce6e3ce8d0 Merge pull request #799 from cconlon/ecc_decode
remove EccPublicKeyDecode() from WOLFSSL_CERT_EXT guard
2017-03-16 12:47:19 -07:00
c62b4e8ed5 Merge pull request #797 from cconlon/ecc_private
allow ECC private key only import
2017-03-16 12:45:49 -07:00
7651afbd38 Merge pull request #794 from dgarske/fix_rsa_e_overflow_w32bit
Fix issue with TFM mp_set_int, which should handle unsigned long.
2017-03-16 11:49:07 -07:00
2b1b7632fc add keep option to fips-check.sh to keep FIPS temp folder around 2017-03-16 11:10:12 -07:00
d22dcdb78d If there is no filesystem then still compile and run
Defaults to 2048-bit FF and 256-bit EC keys.
2017-03-16 16:00:31 +10:00
94d56fda59 Merge pull request #796 from toddouska/noasntime
fix NO_ASN_TIME build with --enable-wpas
2017-03-16 14:46:10 +10:00
a7f8bdb387 remove EccPublicKeyDecode() from WOLFSSL_CERT_EXT guard 2017-03-15 17:28:52 -06:00
5839bd0177 add deallocs to memory tracker 2017-03-15 15:36:12 -07:00
a13cce9213 allow ECC private key only import 2017-03-15 16:04:17 -06:00
36ecbfb1a8 fix NO_ASN_TIME build with --enable-wpas 2017-03-15 14:57:38 -07:00
0ef1b5d298 bounds checking with adding string terminating character 2017-03-15 13:40:41 -06:00
2c890e6827 Fix mp_set_int to use calc for 32 const. Changed it to sizeof(b) instead of sizeof(long). 2017-03-15 12:34:55 -07:00
4eb76e1d71 Fixes for building with IPV6. Added new WOLFSSL_IPV6 define to indicate IPV6 support. Fix to not include connect() and socket() calls unless HAVE_HTTP_CLIENT, HAVE_OCSP or HAVE_CRL_IO defined. Typo fixes. 2017-03-15 12:27:02 -07:00
cf73a2244f Fix for stray brace in wolfIO_TcpConnect. Fix to typedef sockaddr_in6 only when TEST_IPV6 is defined. Moved XSOCKLENT into io.h. Added useful WOLFSSL_NO_SOCK, which can be used with WOLFSSL_USER_IO. 2017-03-15 12:26:40 -07:00
d3a07858c0 Fixes based on peer review feedback. Fix to only include the non-blocking / select timeout functions when HAVE_IO_TIMEOUT is defined. Fix to only include TCP connect if HAVE_GETADDRINFO or HAVE_SOCKADDR defined. Cleanup of the “struct sockaddr*” to use typedef with HAVE_SOCKADDR. Moved helpful XINET_* and XHTONS/XNTOHS macros to io.h. 2017-03-15 12:26:18 -07:00
628f740363 Added support for inline CRL lookup when HAVE_CRL_IO is defined (shares code with OCSP lookup in io.c). Added http chunk transfer encoding support. Added default connection timeout value (DEFAULT_TIMEOUT_SEC) and new wolfIO_SetTimeout() API with HAVE_IO_TIMEOUT. Added generic wolfIO_ API’s for connect, select, non-blocking, read and write. Added new define USE_WOLFSSL_IO to enable access to new wolfIO_* socket wrappers even when WOLFSSL_USER_IO is defined. Moved all API declarations for io.c into new io.h header. Added HAVE_HTTP_CLIENT to expose HTTP API’s. Moved SOCKET_T and SOCKET_ defines into io.h. Added WOLFIO_DEBUG define to display request/responses. 2017-03-15 12:26:18 -07:00
5a24fd9237 Fix TFM mp_set_int to handle long. Enhance mp_set_int to use mp_set if less than max mp_digit. Added new MP_SET_CHUNK_BITS to eliminate hard coded const’s and allow build time adjustment. 2017-03-15 12:23:50 -07:00
4725a8aea6 Merge pull request #775 from SparkiDev/wpas
Changes for WPA Supplicant
2017-03-15 11:19:46 -06:00
f38d23a315 Merge pull request #791 from dgarske/fix_ecc_test_curve_idx
Fix wc_ecc_export_point_der to use curve_id
2017-03-14 19:22:53 -07:00
916a5c97ce Merge pull request #793 from SparkiDev/scan_build
Fixes for scan-build
2017-03-14 19:19:09 -07:00
003e18ecbc Fixes for scan-build 2017-03-15 09:38:53 +10:00
97b98c5c44 Changes from review
Add a free handshake resources API.
Rename to wolfSSL_KeepHandshakeResources().
Add APIs to indicate the client's preference order is to be used when
matching cipher suites.
2017-03-15 09:09:25 +10:00
ac713e62c5 Code review fixes
Put back check for server end when setting DH.
Add option to keep resources rather than free after handshake.
2017-03-15 09:09:25 +10:00
122f648fd8 Only support client preference order as default for WPAS. 2017-03-15 09:09:02 +10:00
7897d04145 Need GetHMACSize and GetIVSize for wpas 2.0 2017-03-15 09:09:02 +10:00
fd3093f937 Protect code with #ifdefs 2017-03-15 09:09:02 +10:00
e2930b0a43 Changes for WPA Supplicant 2017-03-15 09:09:02 +10:00
7bef7aaa81 Merge pull request #792 from SparkiDev/valgrind
Fix valgrind issues
2017-03-14 13:50:26 -07:00
4210ce0f67 Merge pull request #789 from SparkiDev/jenkins
Fixes for extended configuration testing
2017-03-14 10:00:39 -07:00
cccaa8671e Merge pull request #778 from dgarske/intime_rtos
INtime RTOS port
2017-03-14 09:55:50 -07:00
2fbce65975 Revert change in types.h for INTIME_RTOS. HAVE_THREAD_LS is not supported here, so don’t define out. Added note in INtime RTOS user_settings.h to indicate this. 2017-03-13 20:03:09 -07:00
0eb01698f4 Fix for wolfCrypt ECC import/export point test to not use const idx and instead lookup using the “ecc_curve_id” enum value. Added new “wc_ecc_get_curve_idx” and “wc_ecc_get_curve_id” API’s. Redirected duplicate ECC function “wc_ecc_get_curve_name_from_id” to “wc_ecc_get_name”. Added “ECC_CURVE_INVALID” to indicate invalid curve_id. 2017-03-13 19:58:15 -07:00
72728b21af Undo as mp_digit is not allowed to get as large as tested 2017-03-14 10:23:13 +10:00
81731df72f Fix valgrind issues
Test program was re-using RSA and ECC key with multiple imports ops.
wc_RsaPublicKeyDecode() leaked if n parseable but not e.
2017-03-14 09:47:34 +10:00
8a562c817c Fix build issues with DEBUG_WOLFSSL defined. Fix typo in user_settings.h for DEBUG_WOLFSSL. Fix issue with example client waiting on local server (shouldn’t be). Updated README.md with example output. 2017-03-13 12:22:44 -07:00
e98a0465ae tenAsys INtime RTOS port. Porting complete for mutex semaphores, threading, file, socket and RNG. Added projects for libwolfssl and wolfExamples. The wolfExamples project includes examples for wolfCrypt Test/Benchmark and wolfSSL TLS client/server. Provided reference user_settings.h with comments and enable/disable gates. Added README.md with overview and instructions. Fixed issue building master with NO_WOLFSSL_DIR defined. Added check if old TLS is enabled that SHA and MD5 are enabled. Cleanup of the wolfCrypt test use of USE_CERT_BUFFERS with file system enabled. 2017-03-13 09:48:55 -07:00
610ac07cd8 Add MP_MASK 2017-03-13 16:28:36 +10:00
8ac2f5cb9c Windows warning about negating unsigned fix 2017-03-13 12:29:58 +10:00
d4f0c79272 Cast for Windows 2017-03-13 12:18:45 +10:00
614231f71c Fixes for extended configuration testing 2017-03-13 11:33:39 +10:00
9780f1faef Fix spacing and comma 2017-03-12 23:01:32 +09:00
a6cbfe6f93 Merge pull request #787 from SparkiDev/def_p256
Fix elliptic curve selection.
2017-03-11 08:35:11 -08:00
91737ceb3f Merge pull request #786 from JacobBarthelmeh/Testing
Testing
2017-03-10 17:03:24 -08:00
80fe2a3524 Fix elliptic curve selection.
Preference by:
1. the default for the curve strength (eccTempKeySz),
2. a curve at the curve strength (eccTempKeySz),
3. the default for next higher curve strength,
4. the first curve (client order) with the next highest curve strength
2017-03-11 10:17:15 +10:00
93f1e7cf2e remove magic number in test case 2017-03-10 13:16:22 -07:00
bb81ea804c add AES get key to ARMv8 port and add check for BASE 64 encode to tests 2017-03-10 09:55:27 -07:00
dee3159f0f update byte size conversion 2017-03-10 09:39:18 -07:00
e8d97c9b1e make test buffers large enough for results 2017-03-10 09:36:29 -07:00
5a803730b8 Merge pull request #785 from SparkiDev/fixes
Fixes from merge of test coverage changes
2017-03-09 17:58:15 -08:00
2b5dba798f Merge pull request #783 from JacobBarthelmeh/Cert-Report1
Add error case for critical Subject Key ID extension
2017-03-09 15:39:23 -08:00
5c9eedbf69 Fixes from merge of test coverage changes
Include new certificates in distribution.
Casting changes for clang.
Extra error code - recognize in test.
2017-03-10 09:15:18 +10:00
2444a55afe Merge pull request #708 from SparkiDev/test_cov
Extend testing for coverage
2017-03-09 12:52:17 -08:00
2bb14903f9 Merge pull request #698 from SparkiDev/nginx
Get Nginx working with wolfSSL
2017-03-09 10:23:20 -08:00
0e64c7708f Merge pull request #769 from JacobBarthelmeh/Testing
Testing
2017-03-09 10:17:48 -08:00
fd50fd8a3e Add error case for critical Subject Key ID extension 2017-03-08 16:40:07 -07:00
df32c6fb0b Merge pull request #782 from dgarske/ecc_mem
Fix to reduce ECC memory usage when async crypt is not enabled
2017-03-08 15:35:47 -08:00
2b0963c42a Merge pull request #780 from dgarske/crl_win
Fixes for building CRL with Windows
2017-03-08 15:31:02 -08:00
a55ebb4c18 Fixes for building CRL with Windows. Refactor load_verify_buffer and LoadCRL to use new wc_ReadDir* functions. Added new directory/file API's: wc_ReadDirFirst(), wc_ReadDirNext(), wc_ReadDirClose(). Moved MAX_PATH and MAX_FILENAME_SZ to wc_port.h. Moved BAD_PATH_ERROR into error-crypt.h. The wc_ReadDir is only supported when NO_WOLFSSL_DIR and NO_FILESYSTEM are not defined. Add map to __FUNCTION__ macro in Windows with debug enabled (to resolve build error with VS and __func__ missing). Fix cast warning on response from EncodeOcspRequestExtensions. Fix for cast to call to BuildCertificateStatus. 2017-03-08 11:21:11 -08:00
a0effa6329 call mp_clear to match call to mp_init 2017-03-08 11:26:16 -07:00
e115205d18 Fix to reduce ECC memory usage when async crypt is not enabled. Fix uses local for r and s instead of key->r and key->s. 2017-03-07 13:45:02 -08:00
e7445b8e49 Merge pull request #781 from dgarske/fix_sb_int_dp
Fix integer.c scan-build warning for possible use of NULL dp
2017-03-07 12:03:20 -08:00
be42a575da Fix additional integer.c report of possible use of NULL dp (after normal math performance improvement to defer dp pointer alloc commit bdbb98ed20 2017-03-06 13:19:52 -08:00
ebef5083ca Merge pull request #777 from toddouska/dhpub
add check dh public key to agree()
2017-03-06 10:16:57 -07:00
bb3bea3d4c Merge pull request #773 from toddouska/authtag
add defined for default AES AUTH_TAG_MIN_SZ
2017-03-06 09:53:01 -07:00
ae6fbb220f Pass the context to statusCb (needed in Nginx 1.10.3) 2017-03-06 10:58:25 +10:00
ba1a8d7681 Merge pull request #765 from dgarske/scanbuild_fixes
Fixes for scan-build warnings
2017-03-03 15:58:10 -08:00
0d3ef0b399 Merge pull request #776 from dgarske/fix_iis_signature_algorithms
Fix issue with IIS servers and NO_OLD_TLS
2017-03-03 12:51:22 -08:00
a348898e96 add AUTH_SZ size check to ti and armv8 ports 2017-03-03 11:42:24 -08:00
7bcd26e321 add check dh public key to agree() 2017-03-03 11:30:38 -08:00
6800ffe8fa Merge pull request #772 from toddouska/sr3-fix
fix signer memory takeover on malformed data
2017-03-03 10:21:01 -07:00
eef3ec4a87 Merge pull request #763 from NickolasLapp/master
Changes to bring wolfssl up to date with stunnel 5.40
2017-03-03 09:00:11 -08:00
ace417b087 Merge pull request #774 from ejohnstown/psk-staticmemory
Static Memory Handshake Fix
2017-03-03 09:38:19 -07:00
2b937e2f23 Merge pull request #771 from JacobBarthelmeh/master
account for static memory IO_POOL free when general memory was used
2017-03-03 08:31:55 -08:00
431f363520 Better fixes for suppressing scan-build warning with normal math enabled. 2017-03-03 07:35:26 -08:00
0182d99efb Updates for nginx 1.10.3
Don't return global error when: SOCKET_PEER_CLOSED_E or SOCKET_ERROR_E
Increase max ex_data items to 5
2017-03-03 16:38:29 +10:00
b5fe3ddbfa Fix to allow connection to IIS server which requires SHA1 hash algo to be present in signature_algos extension. Issue only exists when NO_OLD_TLS is defined. To enable SHA1 with TLS 1.2 define "WOLFSSL_ALLOW_TLS_SHA1”. 2017-03-02 18:18:05 -08:00
67a8626430 Fix for scan-build warning with “->dp == NULL”. Scenario can’t happen, but adding sanity check to suppress warning. 2017-03-02 15:56:31 -08:00
ec1d8c7090 Fixed where the client was using NULL instead of ssl->heap when allocating memory during SendClientKeyExchange(). Failing on an embedded static build. 2017-03-02 10:05:24 -08:00
d903059e05 Fixes to allow signature_algorithms extension to send SHA1 (if enabled) and NO_OLD_TLS is defined. This resolves an issue connected to ISS servers. 2017-03-01 19:07:13 -08:00
c1c7c90345 add defined for default AES AUTH_TAG_MIN_SZ 2017-03-01 11:17:24 -08:00
9ab28f9756 account for static memory IO_POOL free when general memory was used 2017-03-01 11:39:00 -07:00
2d612da9f4 fix signer memory takeover on malformed data 2017-03-01 10:25:54 -08:00
7ca19f9fff Protect other call to wc_EccPublicKeyDecode 2017-03-01 09:37:18 +10:00
292a17fff8 wc_EccPublicKeyDecode changes from review 2017-03-01 09:37:18 +10:00
455fb96faa Extend testing for coverage 2017-03-01 09:37:18 +10:00
0608cd0dd3 Merge pull request #770 from JacobBarthelmeh/master
adjust return value of hash update and address warning with NO_SHA
2017-02-28 14:56:43 -08:00
13e6217fd5 Changes from code review 2017-03-01 08:38:54 +10:00
d4abeb56db Fixes required after logging changes to master. 2017-03-01 08:38:54 +10:00
e6434f380b Get Nginx working with wolfSSL 2017-03-01 08:38:54 +10:00
f77458992e resolve windows warnings and add sanity check with PKCS12 parse 2017-02-28 14:33:07 -07:00
0ed8024bcf adjust return value of hash update and address warning with NO_SHA 2017-02-28 13:40:03 -07:00
b86dfd582f Merge pull request #766 from JacobBarthelmeh/Testing
debug message fix
2017-02-27 12:09:43 -08:00
26bd19bbd8 debug message fix 2017-02-23 17:15:44 -07:00
9db6a27921 Fixes for scan-build warnings. Fix possible memory leak in wolfSSL_DH_new on failure. Add null checks in integer.c for destination to make sure “dp” grows when NULL (even though never happens in real-use). Added suppression of wc_port.c warning “Value stored to 'ret' is never read”. 2017-02-23 14:47:36 -08:00
6425a654be Merge pull request #761 from dgarske/stm32_fixes
Fix for AES-GCM with STM32 and CubeMX HAL
2017-02-22 14:31:36 -08:00
302db35b2f Merge pull request #752 from dgarske/fix_ecc_import_wstaticmem
Fix issue with wc_ecc_import_x963_ex() loosing heap pointer
2017-02-22 14:30:57 -08:00
bdbb98ed20 Merge pull request #735 from dgarske/norm_math_speedup
Normal math speed-up to not allocate on mp_int and defer until mp_grow
2017-02-22 14:29:51 -08:00
d52f44108c Merge pull request #762 from moisesguimaraes/fix-ocsp-request
Adds missing free(request) in CheckOcspRequest()
2017-02-22 14:19:51 -08:00
8bbcdf977d adds missing free(request) in CheckOcspRequest() 2017-02-22 10:43:07 -08:00
2ef4525d4d Changes to bring wolfssl up to date with stunnel 5.40 2017-02-22 11:15:59 -07:00
5a539751a2 Fixes for AES with STM32 and CubeMX. The key size was not being set and causing issues with AES GCM. 2017-02-21 15:12:40 -08:00
aeea24a5e3 Merge pull request #760 from toddouska/mcheck
fix small stack malloc checks
2017-02-21 14:33:44 -08:00
e01da5c44c Fix mp_set to return int after rebase. 2017-02-21 14:12:27 -08:00
b05cfec057 Fix build warning with missing “mp_to_unsigned_bin_at_pos” declaration. 2017-02-21 14:03:21 -08:00
4cbfec1c7d Implemented ksdk_port fixes to handle mp_ response codes. Added KSDK support for normal math. Regression testing against K82 hardware (MMCAU/LTC) and software with normal and fast math. 2017-02-21 14:03:21 -08:00
3008c888bf Fix mp_cmp_d logic to handle a->used == 0. Revert mp_copy and mp_set 0 size workarounds. 2017-02-21 14:03:21 -08:00
9c7407d18c Added return codes to wc_InitDhKey, wc_InitDsaKey and mp_set. Added missing return code checks on mp_copy in ecc.c. Fixed build with DSA and no ECC where mp_set function def would be missing. 2017-02-21 14:03:21 -08:00
d14be65315 Improve handling of mp_clear for RSA after speed-up. 2017-02-21 13:59:38 -08:00
bced81d234 Improve handling of mp_init / mp_clear for DH and DSA after speed-up. 2017-02-21 13:59:38 -08:00
da5825b94d Normal math speed-up to not allocate on mp_int and defer until mp_grow. Added memory tracker support to ./tests/unit.test. Fix memory leak with curve cache enabled, by adding to wolfSSL_Cleanup. 2017-02-21 13:59:38 -08:00
e9c806a639 Merge pull request #743 from JacobBarthelmeh/master
change pem_password_cb typedef for compatibility
2017-02-21 13:23:05 -08:00
ce94243a20 Merge pull request #746 from cconlon/pkcs7ukm
PKCS7: fix optional UserKeyingMaterial encoding
2017-02-21 13:22:31 -08:00
f4f5d2d569 Merge pull request #747 from dgarske/integer_min_max
Fix naming for integer.c min/max local variables
2017-02-21 13:21:52 -08:00
988f7fa983 Merge pull request #759 from dgarske/fix_smallstack_procuserhcain
Fix for ProcessUserChain with WOLFSSL_SMALL_STACK defined causing stack corruption
2017-02-21 13:20:43 -08:00
c01fb8f655 Merge pull request #758 from kaleb-himes/mp_set
Fix for building with ECC disabled and DSA enabled with mp_set API.
2017-02-21 12:59:53 -08:00
7125d16f3e Fix issue with wc_ecc_import_x963_ex() and wc_ecc_import_raw_private() loosing heap pointer. Fixes issue #750. 2017-02-21 12:19:48 -08:00
fc85b8189c fix small stack malloc checks 2017-02-21 11:18:09 -08:00
f0112c2f7d Fix for ProcessUserChain with WOLFSSL_SMALL_STACK defined causing stack corruption. 2017-02-21 10:38:44 -08:00
fddf3bc664 pre-processor-macro update for mp_set API 2017-02-20 16:31:19 -07:00
db1f205522 Merge pull request #756 from toddouska/release3-10-3
3.10.3 rel
2017-02-20 10:08:14 -07:00
ebb21fc284 update rpm spec 2017-02-17 15:02:04 -08:00
e3503b8f9b 3.10.3 rel 2017-02-17 14:49:18 -08:00
3837173f93 Merge pull request #754 from wolfSSL/ecc_cdh
Added ECC Cofactor DH (ECC-CDH) support
2017-02-17 14:26:09 -08:00
19ee115392 Merge pull request #755 from toddouska/kat-errors
add ECC_CDH KAT error code
2017-02-17 14:25:51 -08:00
b4802cd73d add ECC_CDH KAT error code 2017-02-17 12:26:35 -08:00
bdd3f2be41 Make sure ecc key is always memset to 0 2017-02-17 12:15:18 -08:00
3e6ef835b1 Free the ecc keys 2017-02-17 12:06:27 -08:00
09bae9da3e Fixup from review 2017-02-17 11:18:05 -08:00
24cd46f1f1 Fixes from code review 2017-02-17 11:05:29 -08:00
d625645338 Refactor to combine ECC-CDH with existing “wc_ecc_shared_secret()” and use flag to perform cofactor computation on private key. Added new API “wc_ecc_set_flags()” and flag “WC_ECC_FLAG_COFACTOR” to indicate key should use cofactor. Added NIST CAVS test vector for ECC CDH Primitive with P-256. 2017-02-16 16:30:30 -08:00
39607984f7 Added ECC Cofactor DH (ECC-CDH) support with new “wc_ecc_cdh()” and “wc_ecc_cdh_ex()” API’s. Enable using “HAVE_ECC_CDH” define. 2017-02-16 13:17:08 -08:00
7da446c25a Merge pull request #748 from JacobBarthelmeh/Release
Release
2017-02-12 21:55:31 -08:00
337c52b4cf prepare for release 3.10.2 2017-02-10 10:19:34 -07:00
6c55701725 c89 build with ECC compresed key 2017-02-10 10:09:45 -07:00
4f53761faf Fix naming for integer.c min/max local variables to resolve reported “error: declaration of 'min' shadows a global declaration”. 2017-02-09 15:52:25 -08:00
e307f3e89d free decoded cert with small stack build 2017-02-09 16:06:34 -07:00
0cbc640aad memory managment in crl.c with crl monitor 2017-02-09 15:39:55 -07:00
c022614e07 Merge pull request #742 from dgarske/fix_asn_getlen
Improved ASN error checking
2017-02-09 13:05:26 -08:00
93642cfcb9 PKCS7: fix optional UserKeyingMaterial encoding 2017-02-09 12:04:19 -07:00
8763a71420 Merge pull request #745 from JacobBarthelmeh/Windows
wolfCrypt cleanup in test.c moved and add wolfSSL init to testsuite w…
2017-02-09 10:19:51 -08:00
3a6e8bf0d0 Merge pull request #744 from JacobBarthelmeh/Testing
static analysis fixes for memory management and possible null dereference
2017-02-09 10:18:26 -08:00
321392998d Additional ASN checks for GetSequence and GetSet. Cleanup of the buffer space check error to use BUFFER_E. 2017-02-09 09:50:06 -08:00
6a6e61f1d8 wolfCrypt cleanup in test.c moved and add wolfSSL init to testsuite with single threaded 2017-02-08 18:52:16 -07:00
b6b3021def gcc-6 uninitialized warning with srp build 2017-02-08 16:49:58 -07:00
b0728645c9 static analysis fixes for memory management and possible null derefrence 2017-02-08 16:29:54 -07:00
ef38ab8fc5 Merge pull request #701 from JacobBarthelmeh/mutex
better compatibility with printing errors to a file
2017-02-08 11:12:17 -08:00
c02f35c128 change pem_password_cb typedef for compatibility 2017-02-08 11:48:50 -07:00
868e704b82 Merge pull request #732 from kaleb-himes/openrtos-3.9.2-checkout
fips checkout for OpenRTOS v9.0.0 w/ wolfCrypt v3.9.2 on Atmels ATSAM…
2017-02-07 21:19:43 -08:00
c074ab273f Merge pull request #740 from toddouska/ocsp
Fix OCSP signature leading zero, certdecode free on parse failure. Add WOLFSSL_NO_OCSP_OPTIONAL_CERTS to skip optional OCSP certs, responder issuer must still be trusted. Add user clock skew defines for date skew before checks (WOLFSSL_AFTER_DATE_CLOCK_SKEW=# and WOLFSSL_BEFORE_DATE_CLOCK_SKEW=#).
2017-02-07 18:46:31 -08:00
993a604124 remove extern variables and use error queue instead 2017-02-07 17:16:22 -07:00
6fc81652b7 Merge pull request #738 from JacobBarthelmeh/Testing
align compatibility layer sha256 and sha224 structs
2017-02-07 13:59:34 -08:00
8f1c2965af Fix build warning in asn.c with “potentially uninitialized local variable 'length' used”. 2017-02-07 13:34:27 -08:00
468df109b6 add WOLFSSL_NO_OCSP_OPTIONAL_CERTS to skip optional OCSP certs, responder issuer must still be trusted 2017-02-07 13:31:59 -08:00
19204ab1ac Fix comment. 2017-02-07 11:07:48 -08:00
a2984553d7 Fixes for build with user-crypto RSA (--enable-fast-rsa). 2017-02-07 11:03:17 -08:00
3a1921e107 Fixes to ASN GetLength changes. Additional GetLength checks in PKCS7 and PKCS12. 2017-02-07 10:59:34 -08:00
0286d157a7 First pass at cleanup of the GetLength function handling of 0 length value. Added some asn.c build option comments. 2017-02-06 20:05:04 -08:00
7ddeb1afd9 add user clock skew defines for date skew before checks 2017-02-06 16:30:48 -08:00
f938a75780 fix OCSP signature leading zero, certdecode free on parse failure 2017-02-06 14:10:38 -08:00
53bebb4785 add error code for wolfCrypt_Cleanup 2017-02-06 14:51:55 -07:00
1f7976a587 Merge pull request #739 from JacobBarthelmeh/Memory
reduction of mp_jacobi stack usage
2017-02-06 11:59:52 -08:00
0f91542cf4 add peek error node function to make use of debug mutex 2017-02-03 11:52:36 -07:00
e8110e773e reduction of mp_jacobi stack usage 2017-02-02 17:13:26 -07:00
b1522e0c59 pack Sha256 struct 2017-02-02 14:55:51 -07:00
e722459df3 align compatibility layer sha256 and sha224 structs 2017-02-02 11:57:29 -07:00
895bf8dfbc Merge pull request #728 from embray/patch-1
Fixes a serious bug in Random.byte
2017-02-01 21:07:20 -03:00
16698db48f Merge pull request #733 from kaleb-himes/tirtos-updates
updates for TIRTOS build following release 3.10.0
2017-02-01 14:47:12 -08:00
fde6700d89 fix typo 2017-01-31 15:10:49 -07:00
d1f323ca58 Adds wrapper for CTX_load_verify_locations to C# wrapper 2017-01-31 14:45:33 -07:00
af355f7472 updates for TIRTOS build following release 3.10.0 2017-01-31 13:15:45 -08:00
b2e4a50bf4 fips checkout for OpenRTOS v9.0.0 w/ wolfCrypt v3.9.2 on Atmels ATSAM4L CPU 2017-01-30 15:32:59 -07:00
29f52ec735 Merge pull request #730 from toddouska/ocsp
Better CheckOcspRequest error detection on retry
2017-01-30 12:59:58 -03:00
ea96fa95b3 add new OCSP response validated debug message and remove redundant ret set 2017-01-28 11:11:25 -08:00
a094a36fa8 Update random.py
Realized that `ffi.string()` could truncate the output on null bytes.
2017-01-28 15:55:42 +01:00
a10d464126 fix scan-build warning and simplify CheckOcspRequest validation 2017-01-27 17:07:31 -08:00
f44bbe9ba3 Better CheckOcspRequest error detection on retry 2017-01-27 15:42:00 -08:00
1108ea0303 Merge pull request #729 from JacobBarthelmeh/staticmemory
account for unaligned memory when computing optimum size and update s…
2017-01-27 15:00:18 -08:00
0b8730f0b6 check bounds of buffer and get file buffer size 2017-01-27 15:14:25 -07:00
fc899029fb account for unaligned memory when computing optimum size and update static memory tests 2017-01-27 10:50:47 -07:00
e96a720f04 Fixes a serious bug in Random.byte
Python's bytecode compiler has a peephole optimizer which, among other things, can recognize constant expressions and replace them with a constant.

In `Random.byte` the expression `t2b('\0')` is recognized as a constant and is replaced with a single constant compiled into the function's bytecode.

This means that every time you run `Random.byte`, rather than creating a new `str` object (or `bytes` in Python 3) it's reusing the same one each time, and `wc_RNG_GenerateByte` is writing right into that constant object's buffer; hence the following behavior:

```
In [55]: rng = Random()

In [56]: a = rng.byte()

In [57]: a
Out[57]: "'"

In [58]: rng.byte()
Out[58]: '\x11'

In [59]: a
Out[59]: '\x11'

In [60]: rng.byte()
Out[60]: '\x16'

In [61]: a
Out[61]: '\x16'

In [62]: rng.byte.__func__.__code__.co_consts
Out[62]:
('\n        Generate and return a random byte.\n        ',
 '\x16',
 0,
 'RNG generate byte error (%d)')

In [63]: rng.byte()
Out[63]: '\xad'

In [64]: rng.byte.__func__.__code__.co_consts
Out[64]:
('\n        Generate and return a random byte.\n        ',
 '\xad',
 0,
 'RNG generate byte error (%d)')
```

`Random.bytes` does not necessarily have this problem since its result buffer is not a constant expression, though I feel like it could also in principle be affected if the string were interned (though I couldn't produce such a result). Nevertheless, it doesn't seem like a good idea to be updating `str` objects' buffers directly.
2017-01-26 20:48:15 +01:00
d22bc5d347 Merge pull request #727 from ejohnstown/minor-cleanups
Minor Cleanups
2017-01-26 08:50:28 -08:00
d93f856081 Minor Cleanups
1. Removed the execute bit from a few C source files.
2. Changed a couple letters in Moises's name in tfm.h to
   the non-extended/accented versions of "e" and "a".
2017-01-25 14:17:17 -08:00
1e02d00f61 Merge pull request #725 from toddouska/psk
add PSK test support to openssl script interop
2017-01-24 13:52:23 -08:00
d60d0b4e3f Merge pull request #726 from ejohnstown/static-memory-fix
Allow Static Memory...
2017-01-24 09:38:08 -07:00
13d0908b09 Allow static memory option when not using fast math or not using
slow math for anything.
2017-01-23 16:38:29 -08:00
a9a0cdfe71 add PSK test support to openssl script interop 2017-01-23 16:10:01 -08:00
52bc606ef9 Merge pull request #723 from dgarske/fix_ecc_noshamir_wstaticmem
Fix issue with wc_ecc_verify_hash_ex when not using SHAMIR and using static memory
2017-01-23 14:00:43 -08:00
a1b79abedb Merge pull request #717 from wolfSSL/auto_ecc_sup_curves
Added code to automatically populate supported ECC curve information
2017-01-23 13:57:56 -08:00
b7c3a340c1 Fix issue with wc_ecc_verify_hash_ex when not using SHAMIR and using static memory. Fixes issue #722. 2017-01-23 09:12:03 -08:00
008a69f185 Merge pull request #721 from ejohnstown/cleanups-for-multicast
Small Fixes for Multicast
2017-01-22 13:19:10 -08:00
8e0affb4a3 Merge pull request #692 from moisesguimaraes/fixes-ocsp-stapling-parser
Fixes certificate status parsing, adds behavior for unknown status type
2017-01-20 16:41:28 -07:00
ac0181d527 In benchmark, change the calls to InitRNG to the explicit
heap versions like all the other crypt calls so it works
with static memory. Plays nice with FIPS mode if available.
2017-01-20 15:36:08 -08:00
4d83ef1c23 Merge pull request #712 from moisesguimaraes/fixes-ocsp-lookup
fixes CA matching when using NO_SKID
2017-01-20 16:15:12 -07:00
497313978f Multicast
1. Opt-out the wolfmath code if not using big integers.
2. Opt-in a few functions when using lean PSK and DTLS.
3. Add a couple (void)heap to hush the compiler for
   usused variables in lean PSK.
4. Add include limits.h to internal.h if CHAR_BIT isn't
   defined. This is mainly for DTLS with lean PSK.
2017-01-20 11:59:28 -08:00
784ce57f45 Fix for TLSX_PopulateExtensions to not use #else HAVE_QSH case for populating supported curves. 2017-01-19 09:23:07 -08:00
835e3b7953 Merge pull request #719 from dgarske/fix_aes_no_dec
Fixes for building with NO_AES_DECRYPT
2017-01-19 08:52:32 -08:00
e86d59b3f7 Merge pull request #718 from dgarske/fix_ecc_comp_err
Fix scan-build warning with err not being read with HAVE_COMP_KEY defined
2017-01-19 08:50:44 -08:00
18b78795fb Merge pull request #716 from dgarske/fix_no_asn_time
Fix build with NO_ASN_TIME
2017-01-19 08:43:50 -08:00
fa2882322d Merge pull request #713 from JacobBarthelmeh/master
chacha20_poly1305 function expects a key size of 32 bytes
2017-01-19 08:41:48 -08:00
1afe613512 Fixes for building with NO_AES_DECRYPT. Added new HAVE_AESGCM_DECRYPT to allow AES GCM Decrypt with NO_AES_DECRYPT defined, since GCM uses only encrypt routine. Only allow TLS AES if NO_AES_DECRYPT is not defined. 2017-01-18 15:56:18 -08:00
b3721c6808 Fix scan-build warning with err not being read with HAVE_COMP_KEY defined. Okay to always call wc_ecc_curve_free, since DECLARE_CURVE_SPECS does a memset. 2017-01-18 14:05:32 -08:00
01f4a7b5bd Added code to automatically populate supported ECC curve information, unless already provided by user via wolfSSL_CTX_UseSupportedCurve or wolfSSL_UseSupportedCurve. 2017-01-18 11:54:43 -08:00
31981cc365 Merge pull request #711 from cconlon/ecc
add ECC export raw, sig to (R,S), helper functions
2017-01-18 09:27:42 -08:00
58f1fd2cc9 Merge pull request #704 from SparkiDev/memfail
Fixes from failure testing
2017-01-17 12:53:56 -08:00
a00bdb0de7 Merge pull request #714 from wolfSSL/fix_intelasm_debug
Fixed issue with intelasm and debug with SHA256
2017-01-17 12:50:17 -08:00
e84528205e chacha20_poly1305 function expects a key size of 32 bytes 2017-01-17 13:39:26 -07:00
2281560f1a Merge pull request #710 from JacobBarthelmeh/staticmemory
pass heap hint to temporary public ECC key
2017-01-17 12:15:45 -08:00
2e60330796 Merge pull request #703 from JacobBarthelmeh/SGX
wolfcrypt only build with Windows
2017-01-17 12:13:37 -08:00
c7ecf23c85 Merge pull request #696 from JacobBarthelmeh/Testing
fix possible memory leak on error case with ASN1 INTEGER to BN function
2017-01-17 12:10:21 -08:00
a0dc8dc8f9 Fix build with NO_ASN_TIME. Kaleb, add to future build options tests. 2017-01-17 10:35:48 -08:00
1aeab91828 Fixed issue with intelasm and debug with SHA256 due to stack variable W_K alignment. Removed obsolete DEBUG_XMM code. 2017-01-13 15:50:04 -08:00
00fed61d36 Merge pull request #709 from JacobBarthelmeh/PKCS12
heap hint with PKCS7
2017-01-12 09:34:20 -07:00
75e3b5a297 pass heap hint to temporary public ECC key 2017-01-12 09:10:25 -07:00
86a3039e0b fixes CA matching when using NO_SKID 2017-01-12 13:56:38 -02:00
ba1315a499 Fixes from failure testing 2017-01-12 16:22:35 +10:00
f6647fbf84 add ECC export raw, sig to (R,S), helper functions 2017-01-11 17:08:35 -07:00
36d34ce069 free WOLFSSL_BN in SetIndividualExternal error case and simplify mpi_clear call 2017-01-11 14:53:32 -07:00
fc8ab42612 Merge pull request #671 from dgarske/ecc_curve_cache
New ECC curve cache feature to improve performance
2017-01-11 13:34:32 -08:00
575ac7b9d3 Merge pull request #707 from JacobBarthelmeh/master
fix location in tfm.c that could result in potential cache attack
2017-01-11 12:35:22 -08:00
bafddd1ba8 heap hint with PKCS7 2017-01-11 11:38:21 -07:00
e3277c19b7 fix location in tfm.c that could result in potential cache attack 2017-01-10 15:00:00 -07:00
8954de40ff Merge pull request #706 from JacobBarthelmeh/Windows
open test file in binary mode
2017-01-10 11:54:47 -08:00
c191a19a77 Merge pull request #705 from cconlon/pkcs7rng
fix RNG to WC_RNG typo in pkcs7.c
2017-01-10 10:15:05 -07:00
6732961e0d open test file in binary mode 2017-01-10 09:57:29 -07:00
993e6298ac fix RNG to WC_RNG typo in pkcs7.c 2017-01-09 16:59:42 -07:00
3338ea9ef7 Added ecc.c documentation for WOLFSSL_VALIDATE_ECC_IMPORT. Note: Add this define to enable checks for Jenkins (after this is merged). 2017-01-09 15:01:17 -08:00
0722f4d20f Fixes to reduce stack usage with ECC_CACHE_CURVE disabled (same as previous code). Added USE_ECC_B_PARAM macro (enabled with ECC_CACHE_CURVE or HAVE_COMP_KEY). Fixed bug with WOLFSSL_VALIDATE_ECC_KEYGEN defined and args to ecc_check_pubkey_order. Fixed counts for DECLARE_CURVE_SPECS(). Fixed wc_ecc_import_point_der to use curve cache. Enhance wc_ecc_check_key to support ECC_CACHE_CURVE for b or load using read_radix. Enhance to expose wc_ecc_is_point with all required mp_int* args directly. 2017-01-09 11:15:13 -08:00
6edb639d9d wolfcrypt only build with Windows 2017-01-09 10:33:46 -07:00
af00ad7683 Merge pull request #700 from JacobBarthelmeh/master
run peek last error line test only when NO_OLD_TLS is not defined
2017-01-07 11:37:27 -08:00
4be5f624e8 include logging.h in test.c 2017-01-06 16:40:19 -07:00
dcb9ef6651 better compatibility with printing errors to a file 2017-01-06 14:29:16 -07:00
274ac21450 Merge pull request #699 from kaleb-himes/FREERTOS_TCP
Remove toolchain level define from OS_TCP section
2017-01-06 13:23:22 -08:00
d3604f1061 run peek last error line test only when NO_OLD_TLS is not defined 2017-01-06 13:22:49 -07:00
2b49f4205f Remove toolchain level define from OS level define section 2017-01-06 11:44:04 -07:00
c20a35f1db Merge pull request #697 from JacobBarthelmeh/master
adjust dynamic types with PKCS12 parse
2017-01-05 14:39:17 -08:00
1afb7e20db fix for freeing copy of mpi in the case of not using fastmath 2017-01-05 13:49:07 -07:00
147a7d5096 adjust dynamic types with PKCS12 parse 2017-01-05 10:21:14 -07:00
1a55309207 fix possible memory leak on error case with ASN1 INTEGER to BN function 2017-01-05 10:00:17 -07:00
ea47d76bf7 Merge pull request #695 from dgarske/openssl_compat_enums
Additional openssl compatibility enums for X509_V_ERR and SSL_CB
2017-01-04 16:35:09 -07:00
fc6217e4f6 Added stubs for the set_msg_callback functions. Cleanup of the SSL_ST_* and SSL_CB_* enums. 2017-01-04 12:14:09 -08:00
7c7b1233f7 Additional enums needed for compatibility with openssl for paho c mqtt client SSLSocket.c layer. 2017-01-04 11:00:08 -08:00
f25416d424 Merge pull request #689 from dgarske/fix_iar_arm
Fixes for compiler warnings with IAR EWARM 8
2017-01-03 15:46:12 -08:00
916e58b93c Merge pull request #694 from moisesguimaraes/fixes-ocsp-nonce-check
removes request->nonceSz check to fully validate response->nonce.
2017-01-03 13:04:24 -08:00
dd737ca103 Merge pull request #618 from kojo1/openssl-ex
Openssl Extra
2017-01-03 12:40:51 -08:00
11775acb86 Merge pull request #691 from JacobBarthelmeh/Windows
random port for MinGW with unit tests
2017-01-03 11:46:33 -08:00
c82372cf78 removes request->nonceSz check to fully validate response->nonce. 2017-01-02 14:59:00 -02:00
07ce995b12 Fix issue with imported key not having a reset key->r, key->s and key->state, which was causing wc_ecc_encrypt to fail. 2016-12-30 12:24:03 -08:00
762064c292 fixes certificate status parsing, adds behavior for unknown status type. 2016-12-29 22:29:46 -02:00
e3ec769107 Adds an --enable-aesctr flag to the configure script to explicitly compile with -DWOLFSSL_AES_COUNTER and -DWOLFSSL_AES_DIRECT
If --enable-fortress or --enable-mcapi are used they effectively force --enable-aesctr
2016-12-29 21:26:34 +01:00
073aa95496 Merge pull request #678 from dgarske/cleanup_macros
Cleanup min(), TRUE, FALSE, ALIGN16 and ALIGN32
2016-12-29 11:19:05 -08:00
0decefed11 Merge pull request #679 from dgarske/wolfmath
Combine generic math functions into new wolfmath.c/.h
2016-12-29 11:17:44 -08:00
fab72ed163 Merge pull request #688 from JacobBarthelmeh/master
fix C++ compiler warnings for distro build
2016-12-29 11:06:47 -08:00
f550172fd4 Merge pull request #687 from JacobBarthelmeh/Testing
update Windows FIPS build
2016-12-29 11:06:11 -08:00
5abfe9d1cf random port for MinGW with unit tests 2016-12-29 11:05:10 -07:00
19ee499c96 Fix to improve fp_copy performance without ALT_ECC_SIZE defined. This change is required for async because we can’t memcpy/memset the entire fp_int. 2016-12-28 16:47:14 -08:00
e75fddd49e Moving macType below hash in WOLFSSL_EVP_MD_CTX (instead of ALIGN16) to resolve 16-bit alignment crash I was seeing on CentOS due to size change of “WOLFSSL_Hasher”. 2016-12-28 16:31:41 -08:00
a854320a96 Revert changes to aes.c roll_auth. 2016-12-28 16:28:02 -08:00
6c90f097ca remove extra white space 2016-12-28 15:40:34 -07:00
c77a18f0ec add EVP_CIPHER_CTX_mode 2016-12-28 14:45:29 -07:00
f60cb08c29 macro and tests for get_passwd_cb functions 2016-12-28 14:45:29 -07:00
4f317a9a1d wolfSSL_EVP_CipherInit_ex handle ENGINE argument and add a sanity check 2016-12-28 14:45:29 -07:00
1326fe1b0d return values of DES set key and return block size for EVP block_size getter function 2016-12-28 14:45:29 -07:00
ccc72d72c2 change argument to pointer. In most cases NULL is used for this argument, as was the case in previous ports 2016-12-28 14:45:29 -07:00
95ea74a91e sanity checks and one function return type for better compatibility 2016-12-28 14:45:29 -07:00
091fc10147 adjust read ahead, some sanity checks and rebase 2016-12-28 14:45:29 -07:00
724e50c4fd cast flag to byte type from int 2016-12-28 14:45:29 -07:00
aabe456592 sanity checks, remove some magic numbers, TLS read ahead 2016-12-28 14:45:29 -07:00
ed5ff77e4f account for BIO with no filesystem and rebase commits 2016-12-28 14:45:29 -07:00
f7737fdc55 expand BIO compatibility 2016-12-28 14:45:29 -07:00
a2d1db4b73 Merge branch 'openssl-ex' of https://github.com/kojo1/wolfssl into openssl-ex 2016-12-28 14:45:29 -07:00
5a2794fe9c add EVP_MD_CTX_md, EVP_MD_type 2016-12-28 14:45:29 -07:00
2b3438e11b pem x509 read from bio and bio set fd 2016-12-28 14:45:29 -07:00
80efc366df add wolfSSL_EVP_MD_CTX_new/free 2016-12-28 14:45:29 -07:00
b377125ad1 add alias to EVP_get_cipher/digestbyname 2016-12-28 14:45:29 -07:00
c57803a4a5 add test EVP_CIPHER_CTX_new/free 2016-12-28 14:45:29 -07:00
a774f26613 add EVP_get_cipherbyname 2016-12-28 14:45:29 -07:00
2ef85e3d4d EVP_CIPHER_CTX_new/free, EVP_get_digestbyname 2016-12-28 14:45:29 -07:00
0c742654dc EVP_add_digest 2016-12-28 14:45:29 -07:00
64a3333870 adjust wolfSSL_set_options and test case 2016-12-28 14:45:29 -07:00
2daeecdb90 BIO s_socket and BN mod exp 2016-12-28 14:45:29 -07:00
e741a24089 add get last error and line function, fix ASN1 object redeclaration 2016-12-28 14:45:29 -07:00
1d0fc83d40 function to add X509 to cert chain 2016-12-28 14:45:29 -07:00
280f5cb542 fix int long type mismatch 2016-12-28 14:45:29 -07:00
1704a8d683 expand compatibility layer with write bio function 2016-12-28 14:45:29 -07:00
778680116e HMAC_cleanup, MD5xxx for bsd 2016-12-28 14:45:29 -07:00
570486b90c add SL_CTX_need/set_tmp_RSA 2016-12-28 14:45:29 -07:00
4baf494ddd add EVP_CipherUpdate/Final 2016-12-28 14:45:29 -07:00
869529642d Add #define EVP_DigestInit_ex 2016-12-28 14:45:29 -07:00
781c7d0055 check for user RSA 2016-12-28 14:45:29 -07:00
7e91838d4a memory management and add to compatibility layer 2016-12-28 14:45:29 -07:00
ff05c8a7a5 expanding compatibility layer 2016-12-28 14:45:29 -07:00
9d1cb18616 add function X509_get_ext_d2i 2016-12-28 14:45:29 -07:00
5f3fa171cd templates wolfSSL_ctrl and wolfSSL_CTX_ctrl 2016-12-28 14:44:05 -07:00
79472e11a1 add bio.c to dist and implement wolfSSL_check_private_key , wolfSSL_get_server_random 2016-12-28 14:44:05 -07:00
fed4ed40a9 compatibility functions for X509 2016-12-28 14:44:05 -07:00
0d7c259282 compatibility functions for ssl cert and private key 2016-12-28 14:44:05 -07:00
d8d3cd5269 staub: SSL_get_server_random 2016-12-28 14:44:05 -07:00
3946931320 stubs: SSL_get_server_random/verify_result/session/set_accept_state 2016-12-28 14:44:05 -07:00
a09a761d07 stubs: PEM_read_bio_DSAparams/X509_AUX/PrivateKey,SSL_CTX_get_default_passwd_cb/userdata 2016-12-28 14:44:05 -07:00
ee86325ae4 template: ERR_peek_last_error_line/print_errors_fp, EVP_add_digest 2016-12-28 14:44:05 -07:00
63dcacb437 templates: ENGINE_cleanup, BN_mod_exp 2016-12-28 14:44:05 -07:00
f3435eefbd templates: ASN1_INTEGER_to_BN, BN_mod_exp, CONF_modules_free/unload, DSA_dup_DH 2016-12-28 14:44:05 -07:00
f2f52c3ec9 add more compatiblity functions 2016-12-28 14:44:05 -07:00
6520a77fac DES ECB prototypes 2016-12-28 14:44:05 -07:00
526b602ebd AESNI support with EVP AES 2016-12-28 14:44:05 -07:00
8554912d68 COMPAT. LAYER : jenkins warnings and build configurations 2016-12-28 14:44:05 -07:00
464543df26 COMPAT. LAYER : jenkins warnings and spacing around if statements 2016-12-28 14:44:05 -07:00
8844554fca Templates BIO/SSL/SSL_CTX_ctrl 2016-12-28 14:44:05 -07:00
86014fb0d0 add BIO_ctrl and other BIO templates 2016-12-28 14:44:05 -07:00
8ed0b83c21 Test on EVP_Cipher AES Counter 2016-12-28 14:44:05 -07:00
de91e7df03 add EVP_Cipher with AES Counter 2016-12-28 14:44:05 -07:00
aed9b2d3bb add EVP_CIPHER_CTX_block_size/mode/set_flags/set_padding 2016-12-28 14:44:05 -07:00
bb400789b8 add EVP_Cipher with EVP_aes_256_ecb() 2016-12-28 14:44:05 -07:00
0fd50cd57a Added AES_set_encrypt/decrypt_key, AES_ecnrypt/decrypt 2016-12-28 14:44:05 -07:00
b57e576abd Fixes for compiler warnings with IAR EWARM 8.
* Fix “wc_PKCS7_DecodeUnprotectedAttributes” return prior to free in GetSet error case.
* Fix “wc_PKCS7_KariGenerateKEK” type mismatch for kdfType.
* Fix aes.c roll_auth use of inSz over 24-bit.
* Fix ecc “build_lut”, “accel_fp_mul” and “accel_fp_mul2add” use of err as unsigned.
* Fix “wc_HKDF” use of un-initialized “myHmac” for heap.
* Fix undefined reference to __REV for IAR due to missing intrinsics.h.
* Fix build error for “wolfSSL_CTX_set_tmp_dh” if OPENSSL_EXTRA not defined and “HAVE_LIGHTY || HAVE_STUNNEL || WOLFSSL_MYSQL_COMPATIBLE”.
* Cleanup of “wolfSSL_get_chain_X509” brace..
* Cleanup SSL_CtxResourceFree use of `i` and define comments.
* Added “SIZEOF_LONG_LONG” to IAR-EWARM user_settings.h to support word64 (required for SHA512, etc).
2016-12-28 11:18:41 -08:00
a40a3cb142 Merge pull request #686 from jay/fix_poly1305_ADD_macros
poly1305: fix ADD macros for multi-line
2016-12-27 17:52:53 -07:00
511f41b0e4 fix C++ compiler warnings for distro build 2016-12-27 14:38:14 -07:00
fb49dbd083 update Windows FIPS build 2016-12-27 10:34:13 -07:00
3b6dac9751 poly1305: fix ADD macros for multi-line 2016-12-24 02:46:35 -05:00
2cf7785068 Merge pull request #682 from JacobBarthelmeh/Release
prepare for release 3.10.0
2016-12-23 09:10:35 -07:00
c4af58b973 Refined the FIPS “min” logic. 2016-12-22 18:11:25 -08:00
fc16890641 Fix “min” with ctaocrypt FIPS. 2016-12-22 14:01:05 -08:00
7752f9ad05 prepare for release 3.10.0 2016-12-22 14:23:41 -07:00
784b24eebc Merge pull request #680 from ejohnstown/dtls-sctp-fix
DTLS-SCTP fix
2016-12-22 13:10:29 -07:00
d6a6226c8e Merge pull request #681 from JacobBarthelmeh/Testing
static analysis check of null dereference and memory management
2016-12-22 08:43:55 -08:00
93c87eb777 Merge pull request #677 from ejohnstown/dtls-prevseq
DTLS Previous Epoch Sequence Number Update
2016-12-22 08:42:56 -08:00
1c17b8eed6 static analysis check of null dereference and memory management 2016-12-21 16:20:18 -07:00
40800d8065 DTLS-SCTP fix
1. Add the SCTP suite test file to the include.am.
2. Skip the sequence number increment for client_hello messages in
   DTLS, but do the increment for SCTP.
2016-12-21 14:24:20 -08:00
338cc9e873 Added wolfevent.c and wolfmath.c to ltc project. 2016-12-21 14:09:19 -08:00
3bec816f97 Cleanup min(), TRUE, FALSE, ALIGN16 and ALIGN32. Replace only use of BYTE3_LEN with OPAQUE24_LEN. Replace “ “ with “\t” (saves bytes and is consistent). Fix align issue with “WOLFSSL_EVP_MD_CTX” hash. 2016-12-21 14:05:00 -08:00
d73338851d Combine generic math functions into new wolfmath.c/.h. Cleanup of the !ALT_ECC_SIZE code so fp_int always has size. This is in prep for async changes for new WC_BIGINT type for hardware crypto. 2016-12-21 13:39:33 -08:00
6cc1fd293e Fixed issue with stack increase with curve cache disabled. Fixed issue with missing wc_ecc_curve_free() in wc_ecc_verify_hash_ex() causing mem leak. Changed ecc_curve_spec_cache to be allocated per curve. Added new wc_ecc_curve_cache_free() API to release all curve cache memory. Moved ecc_curve_spec struct and ecc_curve_load_mask enum to ecc.c. Add missing wc_ecc_fp_free() to wolfCrypt test. Added ecc.c comment for FP_ECC. 2016-12-21 12:31:02 -08:00
ac27d6d7ca DTLS Sequence Number update
1. Set the prevSeq to nextSeq on CCS.
2. Fully clear nextSeq on CCS.
2016-12-20 09:30:46 -08:00
1a5c5d0011 Merge pull request #676 from cconlon/fortify
address fortify high issues
2016-12-19 20:03:24 -08:00
07e7521f34 Merge pull request #674 from JacobBarthelmeh/Testing
Bug fix for cache attack
2016-12-19 18:31:04 -08:00
125cfcacc3 Merge pull request #675 from JacobBarthelmeh/SGX
fix make dist with SGX project
2016-12-19 17:06:14 -07:00
46f3b2a367 address fortify high issues 2016-12-19 15:50:11 -07:00
345df93978 Bug fix for cache attack 2016-12-19 14:51:42 -07:00
6cefca6a49 Merge pull request #672 from cconlon/pkcs7fix
PKCS#7: fixes for building with AES disabled, smallstack
2016-12-19 13:46:35 -08:00
dca57bf2f0 Merge pull request #673 from cconlon/fortify
address fortify critical issues
2016-12-19 13:42:11 -08:00
4d637146d7 fix make dist with SGX project 2016-12-19 14:03:07 -07:00
060ff5e5ef address fortify critical issues 2016-12-19 11:53:14 -07:00
168203ff9d Merge pull request #649 from dgarske/distro
Linux Distro Patches
2016-12-16 16:03:16 -08:00
c313d97579 Merge pull request #622 from SparkiDev/sha384
SHA384
2016-12-16 15:57:40 -08:00
50cf1df8da Merge pull request #669 from SparkiDev/scrypt
Implementation of scrypt
2016-12-16 15:53:48 -08:00
c73ddf3f8a Merge pull request #670 from dgarske/executebit
Removed the execute bit on the new port files.
2016-12-16 15:52:26 -08:00
c5fbf96557 PKCS#7: fixes for building with AES disabled, smallstack 2016-12-16 15:58:18 -07:00
57571cb45e Fix merge issues with ECC HAVE_COMP_KEY after rebase. 2016-12-16 14:20:00 -08:00
f990775451 Fix issue with ECC_SHAMIR disabled due to curve->b remnant from async branch. 2016-12-16 11:53:33 -08:00
cbc3cc6e91 Removed the execute bit on the new port files. 2016-12-16 11:35:40 -08:00
f1ead30987 New ECC curve cache feature to improve performance. Disabled by default and enabled using ./configure CFALGS="-DECC_CACHE_CURVE" or #define ECC_CACHE_CURVE. Added internal ECC states. Combined wc_ecc_mulmod_ex versions for timing rest / not. Tested with all math, timing, FP variants and NXP LTC and ECC508A hardware. Pulled in from latest async branch. Added new ECC_MAX_SIG_SIZE enum to help with sizing the sign buffer.
Performance Increases with ECC_CACHE_CURVE enabled:
* Key Gen 4.2%
* Key Agree, 4.0%
* Sign 6.8%
* Verify 5.8%
2016-12-16 11:32:59 -08:00
a9e7c4081f Merge pull request #660 from ejohnstown/win-renegotiation
Enable secure renegotiation by default for Windows library build.
2016-12-15 16:17:15 -08:00
7b948fe04d Merge pull request #667 from JacobBarthelmeh/SGX
add Windows build for SGX
2016-12-15 16:23:29 -07:00
ec90d72412 Merge pull request #666 from cconlon/chachafix
fix CertificateRequest cert type for ECDSA ChaCha suites
2016-12-15 12:08:08 -08:00
01d8201284 Merge pull request #665 from cconlon/certs
add missing certs and keys to certs/include.am
2016-12-15 12:03:12 -08:00
d0533c6dad Merge pull request #664 from cconlon/pkcs7
PKCS#7/CMS expansion
2016-12-15 12:01:00 -08:00
9d94474133 Merge pull request #668 from ejohnstown/handshake-size
Fail on redundant handshake message data
2016-12-15 11:41:53 -08:00
6959c21fdd Merge pull request #663 from dgarske/stm32_iar
Fixes to build STM32 with IAR
2016-12-15 11:26:43 -08:00
be65f26dd2 If there is a badly formed handshake message with extra data at the
end, but the correct size with the extra data, send a decode_error
alert and fail the handshake.
2016-12-14 16:02:29 -08:00
33f21e8b8d set correct cert type in CertificateRequest when using ChaCha suite with ECDSA 2016-12-14 11:34:10 -07:00
e16f2c0722 add Windows build for SGX 2016-12-14 10:41:52 -07:00
41f6863970 add missing certs and keys to certs/include.am 2016-12-14 09:46:41 -07:00
55554b79a9 PKCS#7: fix use after free in wc_DecodeKtri 2016-12-14 09:15:45 -07:00
20887a8c35 Implementation of scrypt
Tests and benchmarking added.
Configure with --enable-scrypt and requires --enable-pwdbased
2016-12-14 16:57:41 +10:00
e5d1e3ae10 PKCS#7: only output test bundles when PKCS7_OUTPUT_TEST_BUNDLES is defined 2016-12-13 15:27:46 -07:00
22ecd55964 Don't ForceZero in assembly optimized versions. 2016-12-14 08:22:05 +10:00
a1b92dc809 Tidy up CPU Id check not not reference SHA384 2016-12-14 08:22:05 +10:00
24cfba4276 Fix ForceZero calls 2016-12-14 08:22:05 +10:00
0e4aa233ba Use ForceZero in all implementations of Transform 2016-12-14 08:22:05 +10:00
fd21023823 Share code between SHA512 and SHA384 2016-12-14 08:22:05 +10:00
811be0eb9e Faster zeroize on x86_64 2016-12-14 08:22:05 +10:00
f70860a9af Make sure NO_64BIT is defined. 2016-12-13 12:18:21 -08:00
fd9a94b2bd Fixes to build STM32 with IAR. 2016-12-13 10:24:55 -08:00
dad0cfda92 add EnvelopedData ECC support, refactor pkcs7 2016-12-13 09:40:54 -07:00
483e461c49 Merge pull request #647 from kaleb-himes/RIOT_OS
RIOT OS support, test scripts will be submitted to RIOT-OS repository
2016-12-10 19:13:19 -08:00
6c7e1785aa EXIT_TEST macro added for cleaner implementation and maintenance 2016-12-09 19:39:36 -07:00
1748045d52 use NO_WRITEV for portability 2016-12-09 19:12:25 -07:00
5006306bb8 PKCS#7: add support for optional unprotectedAttributes with EncryptedData 2016-12-09 17:02:57 -07:00
abf18858a8 refactor PKCS#7 functionality into separate functions for Enveloped and EncryptedData 2016-12-09 17:02:57 -07:00
b5eb8dce2f add PKCS#7/CMS EncryptedContent support 2016-12-09 16:57:31 -07:00
e80331e03a fix Windows debug build warning with secure renegotiation 2016-12-09 14:31:21 -08:00
7fa825fde0 Enable secure renegotiation by default for Windows library build. 2016-12-09 13:39:00 -08:00
e3b57211d5 undo whitespace modification 2016-12-09 14:36:06 -07:00
fc9d689bc6 fastmath works with RIOT_OS if defined TFM_NO_ASM 2016-12-09 14:34:14 -07:00
b0b80bed78 Merge pull request #657 from cconlon/x963kdf
add ANSI-X9.63-KDF support [SEC1]
2016-12-09 13:29:41 -08:00
ad2b0810c6 Merge pull request #648 from cconlon/keywrap
add AES key wrap support, RFC 3394
2016-12-09 13:23:39 -08:00
7a76baa83e restore .am and gitignore 2016-12-09 13:13:43 -07:00
c957107d76 merge with master and remove RIOT_Make directory, keep changes for working on Mac OS X 2016-12-09 13:11:45 -07:00
9e17b2b0aa Merge branch 'master' of https://github.com/wolfssl/wolfssl into RIOT_OS 2016-12-09 13:09:25 -07:00
8b1a6d4c70 Merge pull request #658 from kaleb-himes/sniffer
Prevent forcezero from running on freed memory
2016-12-09 09:04:01 -08:00
33e840b01b add AES key wrap support, RFC 3394 2016-12-09 09:30:56 -07:00
fdbb142699 Merge pull request #659 from toddouska/distcheck
fix nxp distcheck filename typo
2016-12-09 08:04:02 -08:00
d2ed611757 fix nxp distcheck filename typo 2016-12-08 16:52:12 -08:00
6cfb8e30b2 Merge pull request #591 from dgarske/STM32_CUBEMX
STM32 F2/F4 CubeMX and Std Peripheral Library hardware crypto support
2016-12-08 16:36:43 -08:00
ab7849be0d Merge pull request #655 from JacobBarthelmeh/ARMv8
ARMv8
2016-12-08 16:34:19 -08:00
2db7bf0dc0 use static digest for X9.63 KDF, add smallstack support 2016-12-08 17:28:53 -07:00
5da564d03c Merge pull request #656 from SparkiDev/hashes
Get the hash of the handshake messages rather than finalize.
2016-12-08 16:23:28 -08:00
d2b5a9538d Prevent forcezero from running on freed memory 2016-12-08 15:11:41 -07:00
289acd088a Remove state save and restore 2016-12-08 15:21:04 +10:00
ea1a03d538 Get the hash of the handshake messages rather than finalize.
Inconsistency between SHA256 and SHA384/SHA512 when getting hash.
More handshake messages can be added after this operation.
2016-12-08 15:21:04 +10:00
a5b267087f add ANSI-X9.63-KDF support [SEC1] 2016-12-07 20:26:09 -07:00
2a3f3433e7 Merge pull request #652 from ejohnstown/autoconf-size-check
Move autoconf size checks
2016-12-07 15:23:25 -08:00
3dec222969 Merge pull request #523 from dgarske/atmel_pr
Support for Atmel ATECC508A
2016-12-07 15:01:08 -08:00
074741aabf Merge pull request #651 from dgarske/ksdk_dup_dec
Remove obsolete duplicate declaration for wc_RsaFunction in the KSDK header
2016-12-07 13:48:53 -08:00
a1bd2c8b35 Merge pull request #654 from dgarske/smallstackfixes
Fixes for build with WOLFSSL_SMALL_STACK defined
2016-12-07 13:41:45 -08:00
da4a46ddf6 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into RIOT_OS 2016-12-07 14:16:34 -07:00
477ec3c3d1 Merge pull request #2 from NickolasLapp/STM32_CUBEmX
Fix DES3 on STM32 CUBEMX
2016-12-07 11:27:24 -08:00
82c12fb7be Fix DES3 on STM32 CUBEMX 2016-12-07 10:20:46 -07:00
5c59ccdeb9 Fix scan-build warning. Updated "side" variable failure case to return proper error code. 2016-12-07 07:57:55 -08:00
4dd393077f Updated EccSharedSecret callback to use ecc_key* peer directly. Passes examples with "-P" tests and new pkcallback test script. 2016-12-07 07:57:55 -08:00
45d26876c8 Moved wolfSSL_GetEccKey logic to internal.c and use only for PK_CALLBACK. Added other ECC key info to the EccSharedSecretCb. Cleanup of the "if (ssl->ctx->EccSharedSecretCb == NULL)" logic to revert indent so changes are minimized. Removed new wolfSSL_GetEccKey API. 2016-12-07 07:57:55 -08:00
eaca90db28 New Atmel support (WOLFSSL_ATMEL) and port for ATECC508A (WOLFSSL_ATECC508A). Adds wolfCrypt support for ECC Hardware acceleration using the ATECC508A. Adds new PK callback for ECC shared secret. Fixed missing "wc_InitRng_ex" when using "CUSTOM_RAND_GENERATE_BLOCK". Added ATECC508A RNG block function for P-RNG bypass ability. Added internal "wolfSSL_GetEccPrivateKey" function for getting reference to private key for ECC shared secret (used in test.h for testing PK_CALLBACK mode). Added README.md for using the Atmel ATECC508A port. 2016-12-07 07:57:55 -08:00
9399cc05cb Fixes for building with CRL monitor when not linux, OS X or FreeBSD and --enable-distro set. Cleanup of the crl.c HAVE_CRL_MONITOR checks for OS and make sure if StopMonitor preprocessor is defined the function will also be defined. 2016-12-07 07:07:27 -08:00
fdc297f6bd Moved the check for the size of long, long long, and __m128 to before
the checks for libraries. In some combination of autotools, making a
32-bit build, the autoconf test code can't link libnetwork and crashes,
leaving those sizes all set to 0.
2016-12-06 16:15:45 -08:00
55b1ced783 Merge pull request #653 from toddouska/pkcallbacks
add pkcallbacks script test
2016-12-06 15:15:50 -08:00
944e5fba03 ARMv8 : load pointer to AES key and counter into a register along with pointer to SHA256 K table to handle tight optimized loops on function call with -flto 2016-12-06 21:42:15 +00:00
ed8e0132a7 do_cleanup on pkcallbacks.test 2016-12-06 13:04:12 -08:00
c0e006d42c Fixes for build with small stack enabled. 2016-12-06 12:38:05 -08:00
80cc737ffa add pkcallbacks script test 2016-12-06 11:27:05 -08:00
9fcb6e4e3c Remove obsolete duplicate declaration for wc_RsaFunction in the KSDK port header. 2016-12-06 10:25:56 -08:00
932199c5e9 Fix build warning about unused static functions wc_AesEncrypt and wc_AesDecrypt with STM32. 2016-12-05 14:22:59 -08:00
4a7651a09a STM32 F2/F4 CubeMX and Std Peripheral Library hardware crypto support for RNG, AES, SHA1, DES3 and MD5. Adds new WOLFSSL_STM32_CUBEMX and WOLFSSL_STM32F4 defines. Tested on STM32F437II. 2016-12-05 14:22:59 -08:00
f3816a4dc5 Merge pull request #597 from dgarske/NXPLTC
NXP (K82) LTC math hardware acceleration support
2016-12-05 13:50:31 -08:00
1d14ac5ff3 Fixes to include.am and sha256.c after master rebase. Retested on NXP K82 with and without HW accel (all tests/benchmarks pass). 2016-12-05 09:15:58 -08:00
877ea7011c Fix for LTC RSA-4096. Use original wolfSSL code for RSA operation, reduce in LTC port layer. 2016-12-05 09:01:59 -08:00
0611c45869 Attempt to fix sha.c error with older visual studio compiler. 2016-12-05 09:01:59 -08:00
08b8af5f83 Fix for forced software crypto build. 2016-12-05 09:01:59 -08:00
c35daa877e Fix to allow disabling MMCAU/LTC for software only test (moved preprocessor defines to Kinetis). Updated K82 software benchmark with actual values. 2016-12-05 09:01:59 -08:00
ae75842021 Fix build issues with rebase for ECC and RSA. Changed user_settings.h example when LTC is enabled to disable Shamir and ECC-521. Cleanup to add USE_NXP_MMCAU and USE_NXP_LTC for the example user_settings.h, so the project file can automatically configure. 2016-12-05 09:01:59 -08:00
a6b96b17ff Fixes to include path for NXP ksdk_port. Fixes for time USER/OVERRIDES so their #ifdef's are checked first. Fix to initialize LTC via new "ksdk_port_init" function. Cleanup of the ksdk_port.c for formatting, macros, statics and line length. Cleanup of the AES code for key size. Cleanup of the wolfCrypt sha.c for readability. Added support for the KSDK bare metal drivers to the IDE Rowley CrossWorks example. Updated the settings.h to allow for overrides in Freescale section. Updated README with info for using LTC. 2016-12-05 09:01:59 -08:00
8e64d564dc NXP/Freescale K8X MMCAU / LTC core support for RSA, ECC, Ed/Curve25519, AES, DSA, DES3, MD5, RNG, SHA and SHA2. 2016-12-05 09:01:59 -08:00
ddeb9da502 warning on empty translation units ignored, move cflags to Makefile 2016-12-03 11:55:24 -07:00
d2aef9a82a README update 2016-12-03 11:03:17 -07:00
43525343fc add RIOT tests to dist and make sure Makefiles are not excluded by .gitignore 2016-12-02 17:30:57 -07:00
162294e3e5 added benchmark app for RIOT and updated test error handling 2016-12-02 14:39:37 -07:00
684f9bad22 RIOT OS build and test scripts, build instructions 2016-12-02 13:53:05 -07:00
4317141260 Merge pull request #646 from JacobBarthelmeh/master
remove fPIE flag
2016-12-01 12:56:56 -08:00
d32af7e44b remove fPIE flag : fPIE is suitable for use with executables and not when creating libraries 2016-12-01 12:01:38 -07:00
92377140b7 Merge pull request #520 from dgarske/compat_fixes
Add user cert chain DER support and OpenSSL compatibility fixes/improvements
2016-12-01 09:23:49 -08:00
650ddb8d23 Fixes so make check works with NO_FILESYSTEM and FORCE_BUFFER_TEST. Example: ./configure CFLAGS="-DNO_FILESYSTEM -DFORCE_BUFFER_TEST" 2016-11-30 16:27:24 -08:00
039aedcfba Added "wolfSSL_use_certificate_chain_buffer_format". Added "wolfSSL_SESSION_CIPHER_get_name" to get cipher suite name using WOLFSSL_SESSION*. Moved the "wolfSSL_get_cipher_name_from_suite" function to internal.c. Added new server-cert-chain.der, which is combination of ca-cert.der and server-cert.der. Enhanced load_buffer to detect format using file extension. Can test use of DER cert chain with NO_FILESYSTEM defined using "./examples/server/server -c ./certs/server-cert-chain.der -k ./certs/server-key.der". 2016-11-30 16:26:02 -08:00
3d920b23a0 Fix for building with NO_ERROR_STRINGS. 2016-11-30 16:26:02 -08:00
7a35d904c2 Added new API "wolfSSL_CIPHER_get_name_from_suite" to allow use of the cipherSuite and cipherSuite0 args directly to get cipher suite name. Changed "wolfSSL_CIPHER_get_name" to call new API (based on original). ASN change to allow ToTraditional and SetName for OPENSSL_EXTRA. 2016-11-30 16:26:02 -08:00
c3c3419138 Added processing of user cert chain in DER format. Added arg check on "wolfSSL_get_certificate" to fix NULL dereference if certificate not yet set via "wolfSSL_use_certificate_buffer" or "wolfSSL_use_certificate_file". Added "wolfSSL_CTX_use_certificate_chain_buffer_format" to expose way to import certificate chain buffer as ASN1 (since "wolfSSL_CTX_use_certificate_chain_buffer" assumes PEM) . Changed ProcessFile from static and added as local in internal.h. 2016-11-30 16:26:01 -08:00
cfc5de8c5a Merge pull request #645 from toddouska/fds
allow separate set fds for read/write, helpful for DTLS multicast
2016-11-30 13:17:58 -08:00
8f89d4922f allow separate set fds for read/write, helpful for DTLS multicast 2016-11-30 11:15:57 -08:00
a2dc01413c For distro build don't install options.h (conflicts with multi-arch). Fix for BUILD_DISTRO excludes with indent. 2016-11-29 13:29:19 -08:00
235060eff2 Merge pull request #644 from cconlon/return_fix
correct MEMORY_E returns in asn.c
2016-11-28 10:58:06 -08:00
a9936cf3ee correct MEMORY_E returns in asn.c 2016-11-28 10:39:07 -07:00
2cbc6ed673 ARMv8 : handle aggressive optimizers 2016-11-23 15:44:53 -07:00
7dab97fb01 Merge pull request #641 from dgarske/verifycb_peer_cert_chain
Add the peer cert buffer and count to X509_STORE_CTX for verify callback
2016-11-23 12:59:00 -08:00
1240014fab Fix OCSP to use public buffer type (now WOLFSSL_BUFFER_INFO). 2016-11-22 19:33:40 -08:00
8a8274d403 Merge pull request #643 from dgarske/fix_hmac_224
Fix wc_HmacSizeByType for SHA224.
2016-11-23 13:28:37 +10:00
50131b410d Added new "WOLFSSL_BUFFER_INFO" type to represent internal "buffer" type and the "WOLFSSL_X509_STORE_CTX" certs. Added "VERIFY_CALLBACK_SHOW_PEER_CERTS" to print peer certs pointer and length. 2016-11-22 19:24:54 -08:00
ff16ecda5e Merge pull request #642 from dgarske/ecc_custcurve_speedup
ECC performance increase with custom curves enabled
2016-11-22 16:05:57 -08:00
a540169b72 Merge pull request #638 from ejohnstown/dtls-window-update
DTLS Sequence Window Tracking Update
2016-11-22 16:53:04 -07:00
16907de633 Fix wc_HmacSizeByType for SHA224. 2016-11-22 14:45:10 -08:00
13cf313001 ECC performance increase with custom curves enabled (WOLFSSL_CUSTOM_CURVES) when A param is 3. 2016-11-22 13:43:18 -08:00
5b76a37234 Add the peer cert buffer and count to the X509_STORE_CTX used for the verify callback. Fixes #627. 2016-11-22 11:45:00 -08:00
13bdcc518d Pulled in patches from Debian package. 2016-11-22 11:25:40 -08:00
2d9d3aeb91 DTLS Window Update: fixes and changes 2016-11-22 10:12:18 -08:00
b61e6e1219 Merge pull request #639 from moisesguimaraes/fixes-srp-priv-key-size
fixes random keys size ('a' and 'b')
2016-11-21 15:59:32 -07:00
64fc68920d fixes random keys size ('a' and 'b') 2016-11-21 18:08:19 -03:00
ec6fec452d Update session export with the new sequence number windows. 2016-11-21 09:16:53 -08:00
2507c4da8a DTLS Sequence Window Tracking Update
1. Modify the DTLS sequence window to use an array of word32 instead
   of a word32 or word64 depending on the availability of word64.
2. One can change the array size to have a bigger window.
2016-11-18 11:52:43 -08:00
b380eef3e2 Merge pull request #637 from JacobBarthelmeh/master
PKCS12 : return on memory error
2016-11-18 11:03:57 -08:00
ac5436b462 PKCS12 : return on memory error 2016-11-18 09:40:26 -07:00
1289e66641 Merge pull request #636 from dgarske/fix-ti-hash-mem-leak
Fix memory leak issue in ti-hash.c with small stack
2016-11-17 16:19:37 -08:00
f167fe3d4a Merge pull request #625 from dgarske/tls_nosha256
Fix to allow TLS with NO_SHA256
2016-11-17 16:14:28 -08:00
bfd0a1b405 Fix to allow SHA384 cipher suite with NO_SHA256 defined. Without this fix the BUILD_AESGCM wasn't getting defined. 2016-11-17 10:29:48 -08:00
b01952ea40 Cleanup the hash free in FreeHandshakeResources. 2016-11-17 09:34:31 -08:00
de1ee91863 Fix memory leak issue with WOLFSSL_SMALL_STACK defined and using TI hardware accelerated hashing. 2016-11-17 09:24:56 -08:00
f275331e44 Merge pull request #634 from toddouska/sha512-length
Sha512 length
2016-11-16 15:06:20 -08:00
5c3bd7e1a0 Merge pull request #635 from cconlon/pkcs7signed
fix wc_PKCS7_EncodeSignedData with no signed attributes
2016-11-16 14:07:58 -08:00
8cea6ad148 fix wc_PKCS7_EncodeSignedData when used with empty or no signed attributes 2016-11-16 13:35:57 -07:00
44a23b072f fix mcapi with size change 2016-11-16 09:39:21 -08:00
afc54c3dff change sha512 hi/loLen to 64bits 2016-11-16 09:30:35 -08:00
f922d3f2d6 Merge pull request #624 from SparkiDev/sha224
SHA224 implementation added
2016-11-15 13:53:34 -08:00
98b57e045a Merge pull request #629 from SparkiDev/rsa-crt
Make RSA CRT constant time
2016-11-15 13:36:32 -08:00
f27159f2db Merge pull request #633 from cconlon/renegotiation_info
add server side empty renegotiation_info support
2016-11-15 11:11:17 -08:00
a10ec0ff91 adjust suiteSz and use SUITE_LEN in FindSuite() 2016-11-15 10:49:37 -07:00
ee53853d2f Merge pull request #632 from toddouska/init_multi
fix non ecc_make_key init_mulit potential problems
2016-11-14 19:34:14 -08:00
cbb2ce6baf Merge pull request #626 from dgarske/fix_ecc_make_rngfail
Fix for "wc_ecc_make_key_ex" if call to rng fails
2016-11-14 17:35:15 -08:00
49978d1417 server side empty renegotiation_info support 2016-11-14 15:33:36 -07:00
1a7fe0d4c5 fix non ecc_make_key init_mulit potential problems 2016-11-14 12:49:42 -08:00
82e8210208 Support for building without SHA256 with NO_OLD_TLS and SHA384/512. Although TLS 1.2 default digest for certs is SHA256 and our test cert signatures use SHA256, so make check will fail. Also requires disabling the P-RNG which uses SHA256. Added missing "wc_InitRng_ex" when using "CUSTOM_RAND_GENERATE_BLOCK". Cleanup of the BuildCertHashes, DoRounds, HashInput, HashOutput and HashOutputRaw return codes. 2016-11-14 12:47:24 -08:00
cee321323a Better handle "mp_init_multi" failure in "wc_ecc_make_key_ex". 2016-11-14 12:38:01 -08:00
fa816f0460 Merge pull request #631 from dgarske/ecc_privkey_import_oid
Fix for "wc_EccPrivateKeyDecode" to handle custom curve OID.
2016-11-14 11:52:48 -08:00
047b6df1a2 Merge pull request #630 from JacobBarthelmeh/master
remove include of ec.h in ecc.c
2016-11-14 11:51:15 -08:00
ecc5fccf07 Merge pull request #628 from JacobBarthelmeh/Testing
revert AESNI padding and handle the case in aes.c
2016-11-14 11:50:35 -08:00
a2d29e4c71 Further improve the "wc_EccPrivateKeyDecode" to use the CheckCurve return code, which is the curve_id in the success case. Fixes scan-build warning. 2016-11-14 10:06:20 -08:00
07efd88e4d Fix for "wc_EccPrivateKeyDecode" to handle custom curve OID. 2016-11-14 09:53:31 -08:00
dad628cb0d remove include of ec.h in ecc.c 2016-11-14 10:03:19 -07:00
2023b65f4c Make RSA CRT constant time
Identifying which part of the CRT failed, through timing, reveals
information useful to an attacker.
2016-11-14 08:57:28 +10:00
6d5485b88f Fix to "mp_init_multi" so failure ensures a later "mp_clear" won't free on un-initialized pointer. Applies to !USE_FAST_MATH only. No measurable benchmark difference. 2016-11-11 20:03:58 -08:00
9b0d53ba50 Fixes from review
Remove ForceZero changes (better version in another pull request)
Remove SHA-224 APIs for FIPS (algorithm not avaialable in FIPS.
2016-11-12 09:52:07 +10:00
0b3d9cbccd revert AESNI padding and handle the case in aes.c 2016-11-11 16:26:29 -07:00
cc303a3035 Merge pull request #623 from SparkiDev/ecc
ECC improvements/fixes
2016-11-11 12:53:12 -08:00
478f279b3c Fix logic 2016-11-11 16:38:28 +10:00
abcd6af512 Disable SHA-224 in FIPS 2016-11-11 16:29:34 +10:00
9e81261f1e Fixes 2016-11-11 16:11:16 +10:00
8a7bb3fad4 Z will be 0 not 1 2016-11-11 12:53:48 +10:00
71259113b2 ECC improvements/fixes
When checking for 1 actually check for 1 and not the digit count.
When checking for negative use a macro - for speed.
2016-11-11 12:41:25 +10:00
45983c3b32 Fix SHA224 enum in HMAC code 2016-11-11 12:17:32 +10:00
a0ee159fa5 Merge pull request #617 from JacobBarthelmeh/Compatibility-Layer
Compatibility layer
2016-11-10 11:47:42 -08:00
1aca9a6079 Fix for "wc_ecc_make_key_ex" if call to rng fails. Issue only applies to !USE_FAST_MATH case on failure response from call to "wc_RNG_GenerateBlock". 2016-11-10 11:39:29 -08:00
eb0de32aa2 Merge pull request #621 from JacobBarthelmeh/Testing
adjust alignment of arrays used for case with AESNI
2016-11-10 10:00:54 -08:00
fdfc177254 SHA224 implementation added
Added SHA24 implementation and tetss.
Added HMAC-SHA224 implementation and tests.
Added RSA-SHA224 and ECDSA-SHA224.
Added MGF1-SHA224
Added OpenSSL APIs for SHA224
Configuration option to enable SHA224 and it is on by default for x86_64
2016-11-10 15:52:26 +10:00
55401fceb8 adjust alignment of arrays used for case with AESNI 2016-11-09 15:03:26 -07:00
af44b2527a Merge pull request #620 from JacobBarthelmeh/PKCS12
PKCS12 : visibility of structs and guards
2016-11-09 08:59:31 -07:00
e9cda7b93f Merge pull request #619 from JacobBarthelmeh/ARMv8
ARMv8
2016-11-08 16:21:01 -08:00
fa48bca262 PKCS12 : visibility of structs and guards 2016-11-08 16:49:09 -07:00
c122558810 COMPAT. LAYER : fix missing return value and alignment 2016-11-08 14:16:02 -07:00
208f747a47 ARMv8 : add armv8-aes.c to EXTRA_DIST 2016-11-08 10:28:01 -07:00
d4b45c4299 Merge pull request #616 from moisesguimaraes/fixes-wolfcrypt-py
Fixes wolfcrypt py
2016-11-08 09:07:21 -08:00
5f6cf282b1 fixes include.am comments 2016-11-07 21:15:23 -03:00
88df983251 moves include.am into wolfcrypt-py folder 2016-11-07 21:09:08 -03:00
46dee9e792 ARMv8 : clang 32 bit build 2016-11-07 15:48:06 -08:00
668af9b32f POLY1305 : clang 32 bit warning about macros 2016-11-07 15:28:30 -08:00
f7a951709f COMPAT. LAYER : get SSL client random bytes 2016-11-07 13:21:35 -07:00
f06a392764 COMPAT. LAYER : DES set key and malloc/free 2016-11-07 13:21:05 -07:00
b50914f2c7 Drops 3DES and adds int wc_RsaSetRNG(RsaKey* key, WC_RNG* rng); for RSA blinding 2016-11-07 16:06:35 -03:00
08f6d23e84 moves wolfcrypt-py implementation to wrapper/python/wolfcrypt 2016-11-07 16:02:41 -03:00
68c43e4344 Merge pull request #615 from ejohnstown/dtls-verify-retry-fix
Fix dropped DTLS Hello Verify retransmit
2016-11-04 15:52:13 -07:00
70b227011d Merge pull request #604 from JacobBarthelmeh/PKCS12
Pkcs12
2016-11-04 15:50:50 -07:00
c271806936 Merge pull request #614 from toddouska/scr-verify
add SCR client and server verify data check
2016-11-04 10:11:05 -07:00
ada2573009 Increment the expected handshake number if the call to the handhsake
message processing function is successful, but not if the handshake
message is the client_hello. Process client hello clears that counter
and incrementing it breaks the handshake. Fixes issue #612.
2016-11-03 14:49:21 -07:00
87e3f45f52 add SCR client and server verify data check 2016-11-03 14:45:24 -07:00
356c3a37aa Merge pull request #613 from JacobBarthelmeh/Testing
MODE : change source file mode back to 644
2016-11-03 13:16:59 -07:00
0839925797 PKCS12 : visibility, check on key match, sanity check on malloc 2016-11-03 11:14:29 -06:00
668e9a8e08 MODE : change source file mode back to 644 2016-11-03 10:08:13 -06:00
3780f452e8 Merge pull request #609 from JacobBarthelmeh/ARMv8
ARMv8 : clang build with ARMv8
2016-11-03 09:02:20 -07:00
8e0ab18924 Merge pull request #611 from cconlon/pkcs7
allow PKCS#7 to be compiled with AES disabled
2016-11-03 09:00:46 -07:00
9a735fc873 allow PKCS#7 to be compiled with AES disabled 2016-11-02 12:18:45 -06:00
d4b8320226 Merge pull request #606 from ejohnstown/dtls-pool
DTLS Pool Change
2016-11-02 10:54:53 -07:00
a3ea8378ec Cap the size of the transmit and receive DTLS message lists at 255. 2016-11-02 09:15:05 -07:00
6f06b60bc0 ARMv8 : clang build with ARMv8 2016-11-01 13:38:01 -07:00
624ec3d492 Merge pull request #607 from cconlon/pkcs7
add AES content encryption support to PKCS#7 EnvelopedData
2016-11-01 12:03:24 -07:00
22c5e22698 Merge pull request #608 from JacobBarthelmeh/master
Option to disable RNG (WC_NO_RNG or --disable-rng). If RNG is disabled and building in crypto that makes calls to RNG functions the build will fail with linker undefined symbol errors.
2016-11-01 11:53:53 -07:00
ffe905afbf Moved the checks for the new session ticket and certificate verify
messages from the change cipher spec handler to the sanity check
handshake message function. It provides support for DTLS missing
and duplicate messages.
2016-11-01 09:53:53 -07:00
3075269326 Replace the DTLS MsgPool for saving transmit handshake messages with
the DTLS MsgList.
2016-11-01 09:53:53 -07:00
3065bb2178 Merge pull request #588 from steweg/fix_dtls_retranmission
Adjust DTLS retranmission logic
2016-11-01 09:29:30 -07:00
70e7e34c87 RNG : change to --disable-rng, non-autoconf scenario, help msg 2016-11-01 10:21:29 -06:00
09c32de412 RNG : option to not use RNG 2016-10-31 16:51:02 -06:00
50464d4aef gitignore PKCS#7 test files, delete on make clean 2016-10-31 14:46:03 -06:00
fa9a9175d0 add AES-256-CBC to PKCS#7 Encode/DecodeEnvelopedData 2016-10-31 14:45:57 -06:00
8c23c3cdd0 add AES-192-CBC to PKCS#7 Encode/DecodeEnvelopedData 2016-10-31 14:27:21 -06:00
17c184e720 add AES-128-CBC to PKCS#7 Encode/DecodeEnvelopedData 2016-10-31 14:27:14 -06:00
b686deecbe PKCS12 : Add PKCS12 parsing 2016-10-29 13:12:26 -06:00
79cba75925 Merge pull request #603 from ejohnstown/aes-ctr
expand the AES-CTR test to 4 blocks for 192 and 256 bit cases
2016-10-28 13:52:50 -06:00
849ae72d3a expand the AES-CTR test to 4 blocks for 192 and 256 bit cases 2016-10-27 15:54:22 -07:00
7ef037af0f Merge pull request #602 from kaleb-himes/forums-support-case-user-sp
IAR compiler for ARM 7.70.2.11706 - unitialized warning
2016-10-26 20:04:02 -07:00
2122ee2eb5 IAR compiler for ARM 7.70.2.11706 - unitialized warning 2016-10-26 09:33:15 -06:00
59fdd98f1d Adjust DTLS retranmission logic
This patch adjust DTLS retranmission logic
in order to avoid message floods between client
and server
2016-10-26 10:37:23 +02:00
703d504b58 Merge pull request #600 from kaleb-himes/scan-build-async
Check for sigLen size to resolve scan-build warning.
2016-10-25 11:08:14 -07:00
bc1fca5620 modified handler to return error on invalid condition post review
update
2016-10-25 11:07:35 -06:00
33ab901b3f prevent allocation of size 0 2016-10-24 16:44:43 -06:00
b8aa335dd6 Merge pull request #598 from dgarske/ecc_cacheres_w_altsize
Fix for ECC with ALT_ECC_SIZE and cache resistance enabled
2016-10-17 15:01:43 -07:00
d2a6c6838e Fix for ECC with !WC_NO_CACHE_RESISTANT and ALT_ECC_SIZE causing invalid mp_int*. An ecc_point with ALT_ECC_SIZE is "mp_int* x" vs. "mp_int x[1]". The resulting pointer for &M[0]->x is not valid in the ALT_ECC_SIZE case. This was found while testing ECC on a Cortex M4 (32-bit) and caused a hard fault. 2016-10-14 16:44:57 -07:00
2ecf7090ca Merge pull request #595 from JacobBarthelmeh/Testing
static analysis : Fix warnings with wc_AesCcmSetKey
2016-10-12 11:27:29 -07:00
88a82f519e Merge pull request #594 from JacobBarthelmeh/DTLS-MultiCore
session export : Increment DTLS export version with serialization cha…
2016-10-12 11:25:23 -07:00
ffb2a8ff12 Merge pull request #593 from JacobBarthelmeh/ARMv8
ARMv8 : sanity checks
2016-10-12 11:23:27 -07:00
11102b6726 Merge pull request #585 from NickolasLapp/master
Rename *Mutex Functions with wc_ prefix. Expose these functions for Stunnel.
2016-10-12 11:19:32 -07:00
9cf4d7ca8e Merge pull request #584 from kaleb-himes/aes-gcm-bo
sanity check on memcpy and xorbuf
2016-10-12 11:18:03 -07:00
54c51ec4a0 static analysis : Fix warnings with wc_AesCcmSetKey 2016-10-12 10:02:53 -06:00
3c03aa453b session export : Increment DTLS export version with serialization changes 2016-10-11 14:01:38 -06:00
86bf50ea70 Ensure dh->q is nulled on init and free 2016-10-10 16:21:30 -06:00
eb9161d8a7 ARMv8 : sanity checks 2016-10-10 15:08:59 -06:00
395972e6a8 Merge pull request #592 from cconlon/eccfix
fix ecc_check_privkey_gen() parameters with WOLFSSL_VALIDATE_ECC_IMPORT
2016-10-07 14:30:06 -07:00
ab966a72da fix ecc_check_privkey_gen() parameters with WOLFSSL_VALIDATE_ECC_IMPORT 2016-10-07 14:14:50 -06:00
05fcbb001a move sanity check and remove silent truncation 2016-10-06 15:01:16 -06:00
ef5f55f6e4 Optimize memory usage for ARM Cortex M and similar embedded systems (#578)
* Changed ge_precomp data to const to reduce RAM usage on embedded systems.
* Add configuration option "WOLFSSL_NRF5x" for Nordic nRF5x platform in settings.h
2016-10-06 12:49:14 -07:00
f4c654dd6e Merge pull request #590 from JacobBarthelmeh/ARMv8
ARMv8 additions
2016-10-06 10:04:07 -07:00
4181b744ab stunnel 5.36 requires des3. Enable by default 2016-10-05 13:17:26 -06:00
d07746de09 ARMv8 : Remove dependency on load 2016-10-05 11:02:51 -06:00
69483366fb Fixes for fips compatibility 2016-10-05 10:20:13 -06:00
89aec2c565 Add cast for g++ compiler 2016-10-05 09:37:44 -06:00
21dd236ef2 ARMv8 : increase performance 2016-10-05 09:04:18 -06:00
1e028c3566 Merge pull request #589 from cconlon/ipproto
Wrap IPPROTO_SCTP use with WOLFSSL_SCTP in test.h
2016-10-04 19:48:32 -07:00
29cf90a425 protect IPPROTO_SCTP with WOLFSSL_SCTP in test.h 2016-10-04 16:42:53 -06:00
81a8ad0a48 Merge pull request #587 from ejohnstown/seq64
64-bit Sequence Number
2016-10-04 06:01:26 -07:00
1792eba1a2 Rename *Mutex Functions with wc_ prefix. Expose these functions for
Stunnel. Various other changes to enable stunnel compling
2016-10-03 16:36:05 -06:00
12ac0346f5 change magic numbers to constants, rename verify parameter of WriteSEQ() and subfunctions 2016-10-03 13:51:10 -07:00
a839b61e81 initialize temp sequence number 2016-10-02 13:02:20 -07:00
575785db3e Fixes for DTLS sequence number checking. 2016-10-02 12:03:44 -07:00
ab371365b9 updated sequence number window 2016-09-30 17:02:05 -07:00
62d58a7084 updated session import/export for seq number 2016-09-29 23:09:42 -07:00
4522fa335e Fixing DTLS for 64-bit sequence numbering
1. Simplify away the DtlsState record.
2. Adding in high order bits for the DTLS sequence number.
3. For DTLS, separated copying the sequence number from incrementing it.
2016-09-29 15:51:33 -07:00
a630fda509 Sanity check on memcpy and xorbuf
Sanity check on memcpy and xorbuf
2016-09-29 13:26:50 -06:00
1a7f1d3b26 Merge pull request #583 from JacobBarthelmeh/CSharp
C# Wrapper : TCP check connection termination
2016-09-28 16:31:29 -06:00
1ed06b53df C# Wrapper : TCP check connection termination 2016-09-28 15:00:30 -06:00
6f4b704552 ARMv8 : Aarch32 support, SHA256 speedup 2016-09-28 10:22:27 -06:00
be86308a33 Merge pull request #556 from danielinux/frosted-fix
Fix compilation on Frosted
2016-09-26 12:53:39 -06:00
124a8c0c1f Merge pull request #582 from ejohnstown/lean-psk
Fixes for building the library for Lean PSK
2016-09-24 10:59:54 -06:00
af5d790aea Merge pull request #581 from ejohnstown/tlsx
Fixes for building the library with a C++ compiler with TLSX enabled
2016-09-24 10:45:33 -06:00
8d1aa2238b Fixes for building the library for Lean PSK
1. Needed to enable static PSK when using Lean PSK
2. Fixed complaints about unused variables.
2016-09-24 00:18:36 -07:00
5e852dc1a1 Fixes for building the library with a C++ compiler with TLSX enabled
1. Add many typecasts for malloc() data to proper pointer type.
2. Add many typecasts for constants in tertiary operators.
3. ECC to use local copy of wc_off_on_addr instead of extern copy.
2016-09-23 23:22:58 -07:00
5ec5b9b07d Merge pull request #580 from JacobBarthelmeh/Testing
NTRU : warning of variable size as argument
2016-09-23 15:52:48 -07:00
02b3aa51bd NTRU : warning of variable size as argument 2016-09-23 15:30:33 -06:00
fb01cf7e1b Merge pull request #579 from ejohnstown/release-v3.9.10
Prepare release v3.9.10
2016-09-23 15:05:21 -06:00
6895803f2b Prepare release v3.9.10 2016-09-23 12:19:24 -07:00
049956d852 Merge pull request #577 from kaleb-himes/fix-typos
Fixing typos
2016-09-23 12:18:23 -07:00
4fc0c6c646 fix unused parameter build time error
fix unused parameter build time error
2016-09-23 12:23:26 -06:00
3bd86d3f87 Fixing typos 2016-09-23 10:45:29 -06:00
91580552bc ARMv8 : AES-GCM encryption speed ups 2016-09-23 10:20:52 -06:00
78246e0fc2 Merge pull request #575 from ejohnstown/fix-option
move an ifndef NO_AES for one more configure disable/enable combination
2016-09-22 16:15:49 -06:00
98841e8b47 Merge pull request #576 from toddouska/dsa_zero
add dsa sign sanity check on r/s
2016-09-22 15:14:43 -06:00
e4b8e6a447 Merge pull request #574 from JacobBarthelmeh/Testing
Static Analysis : fix a warning of unused variable
2016-09-22 14:09:46 -07:00
d9163e4554 add dsa sign sanity check on r/s 2016-09-22 12:04:48 -07:00
ba6e2b1037 move an ifndef NO_AES for one more configure disable/enable combination 2016-09-22 11:41:16 -07:00
c43fd150e9 Static Analysis : fix a warning of unused variable 2016-09-22 09:31:26 -07:00
18944dacbf Merge pull request #573 from toddouska/dsa_pad
fix dsa pre padding
2016-09-22 09:42:23 -06:00
9e4e08d7a7 fix dsa pre padding 2016-09-21 18:51:11 -07:00
2368d49678 Merge pull request #572 from ejohnstown/pathlen
CA Certificate Path Length Checking
2016-09-21 14:36:24 -07:00
b8704d2dfe Merge pull request #571 from toddouska/new_rng
Fix Jenkins build 389 single-threaded issue
2016-09-21 12:59:06 -07:00
74002ce66a Add the new path length test certs to include.am. 2016-09-21 12:34:01 -07:00
ab887b88dc Merge pull request #570 from ejohnstown/des3-disable-fix
Disable DES3 compiler warning fix
2016-09-21 13:25:00 -06:00
de81c81eae Fixed unused variable complaints when OPENSSL_EXTRA and MD5 are enabled
and when AES is disabled.
2016-09-21 10:21:03 -07:00
489345f0d4 move CTX new_rng out of with certs block 2016-09-21 09:02:38 -07:00
95acd9c907 Fixed unused variable complaints when KEYGEN and OPENSSL_EXTRA are enabled
and when AES and MD5 are disabled. It was in the same encrypt function as
before and in the paired decrypt function.
2016-09-21 07:32:17 -07:00
a42bd30278 CA Certificate Path Length Checking
1. Check the path length between an intermediate CA cert and its
   signer's path length.
2. Always decode the path length if present and store it in the decoded
   certificate.
3. Save the path length into the signer list.
4. Path length capped at 127.
5. Added some test certs for checking CA path lengths.
2016-09-20 21:36:37 -07:00
ef7183dcf7 delete redundant #else 2016-09-20 15:59:08 -07:00
d9862c1c1a Merge pull request #569 from kaleb-himes/CUSTOMER_REQUEST
addition to previous customer request
2016-09-20 12:09:15 -07:00
65a7978dec Merge pull request #567 from toddouska/rng
RDSEED enhancements
2016-09-20 12:09:01 -07:00
df1d8200ef Fixed unused variable complaint when KEYGEN and OPENSSL_EXTRA are enabled
and when AES and DES3 are disabled.
2016-09-20 12:07:58 -07:00
67a112773e fix secure renegotiation 2016-09-19 17:31:20 -07:00
21726d5ae4 64bit sequence tls proof of concept, dlts needs some work 2016-09-19 16:02:27 -07:00
4214f52d77 addition to previous customer request 2016-09-19 16:01:24 -06:00
0718aba655 fix comment typo 2016-09-19 13:28:14 -07:00
485d814aed Merge pull request #563 from JacobBarthelmeh/ARMv8
ARMv8 : AES-GCM constraint fix
2016-09-19 09:30:08 -07:00
e0b8e55198 Merge pull request #553 from ejohnstown/disable-des3
Disable DES3 by default
2016-09-19 09:27:32 -07:00
b4b0b2433e Merge pull request #555 from ejohnstown/autogen-tweak
Autogen tweak for git worktrees
2016-09-19 09:26:06 -07:00
4c295cd13d Merge pull request #564 from kaleb-himes/CUSTOMER_REQUEST
Implement requested change from customer
2016-09-19 09:24:43 -07:00
1bab8822a9 Merge pull request #565 from ejohnstown/enable-ecccurveext
Enable the ECC Supported Curves extension by default
2016-09-19 09:24:05 -07:00
afd039d2e1 Merge pull request #566 from JacobBarthelmeh/master
Benchmark App : fixed some invalid set key sizes
2016-09-19 09:23:12 -07:00
6d73175b22 Benchmark App : fixed some invalid set key sizes 2016-09-17 15:07:38 -06:00
c51444bec5 update rdseed to 64bit get, more retries, fallback to /dev/urandom on failure 2016-09-16 18:54:47 -07:00
3f95bac55f Merge pull request #562 from ejohnstown/pre-release3.9.9
Bump version for pre-release REDUX
2016-09-16 15:07:00 -06:00
67c7e7c8de Implement requested change from customer
Implement requested change from customer
2016-09-16 14:38:33 -06:00
f191cf206e allow single threaded mode to share an RNG at WOLFSSL_CTX level 2016-09-16 13:35:29 -07:00
781e800486 1. Enable the extension ECC Supported Curves by default.
2. Force the extention disabled if ECC is disabled.
2016-09-16 13:26:56 -07:00
f755591316 ARMv8 : AES-GCM constraint fix 2016-09-16 19:43:47 +00:00
7a7f2fbe78 Bump version for pre-release. 2016-09-16 10:58:31 -07:00
ef0cd908ea Merge pull request #557 from kaleb-himes/arduino-updates
fix distribution issue
2016-09-16 10:55:48 -07:00
c85b3b84d9 Merge pull request #554 from JacobBarthelmeh/ARMv8
ARMv8 : AES-CTR/CBC/GCM speed ups and refactor AES
2016-09-16 09:34:24 -07:00
03ebb4825e Merge pull request #552 from toddouska/aesca
prevent compiler from optimzing out PreFetch Td4
2016-09-16 09:16:07 -07:00
14a7065f6e fix distribution issue 2016-09-16 10:04:50 -06:00
b869641de6 Merge branch 'master' into frosted-fix 2016-09-16 11:46:01 +02:00
890bcde1cd Don't include <sys/uio.h> when running on Frosted 2016-09-16 11:43:34 +02:00
4087f6904c Treat project directory as in version control if .git is
either directory or file.
2016-09-15 16:09:27 -07:00
6d82cba29c ARMv8 : AES-CTR/CBC/GCM speed ups and refactor AES 2016-09-15 22:50:00 +00:00
ef9c4bf5c9 Add client-ca.pem to the automake include for dist. 2016-09-15 15:38:41 -07:00
bad6be5c76 1. Updated sniffer to allow DES3 to be disabled.
2. Fixed an unused variable in OpenSSL Extras when DES3 is disabled.
3. Force DES3 enabled when enabling MCAPI.
2016-09-15 14:53:28 -07:00
e92f0e32b0 Undo making the ECC supported curves extension default to enabled. 2016-09-15 13:15:49 -07:00
78c0f98ea9 Merge pull request #551 from kaleb-himes/arduino-updates
Updates to make building for ARDUINO more intuitive
2016-09-15 13:01:42 -07:00
0ee7d7cc17 1. Add DES3 enable to full commit test.
2. Added DES3 to the list of FIPS prereqs.
2016-09-15 12:19:32 -07:00
e3bb4c29e2 Fix openssl.test with the lean-TLS option
1. Make new CA cert for test that is both client-cert.pem andr
   client-ecc-cert.pem.
2. Use the new client-ca.pem cert in the test script.
3. Update renewcerts script to generate client-ca.pem.
2016-09-15 11:39:30 -07:00
c1ac0c0f8c Merge pull request #545 from ejohnstown/ems
Extended Master Secret
2016-09-15 11:25:41 -07:00
2d4757b446 Disable DES3 by default. Force it enabled when it is a prereq for
another option. (SCEP and PKCS7)
2016-09-15 11:23:36 -07:00
19434e285a Update the resume test to rerun itself with the "-n" option to disable
extended master secret if the option is enabled.
2016-09-15 10:13:31 -07:00
8cdaa06127 prevent compiler from optimzing out PreFetch Td4 2016-09-15 10:02:30 -07:00
9d49fae600 Updates to make building for ARDUINO more intuitive
NO_INLINE not necessary, update README
2016-09-14 17:01:35 -06:00
01be5cdc07 Merge pull request #550 from toddouska/rsainit
make sure rsa rng is null on init
2016-09-14 16:31:07 -06:00
dc337946d5 make sure rsa rng is null on init 2016-09-14 14:33:08 -07:00
8b713adcfd Extended Master Secret Peer Review Changes
1. Checked the returns on the hash functions in the sniffer,
   return new error if any fail.
2. Removed the SHA-512 hash from the sniffer's collection of
   hashes. Never used in a cipher suite.
3. Added some logging messages in the EMS support in wolfSSL.
2016-09-14 13:43:02 -07:00
7410b5784f Merge pull request #548 from toddouska/nocache
add WC_NO_CACHE_RESISTANT option for old code paths
2016-09-14 10:24:29 -07:00
e039fcefc0 Merge pull request #549 from JacobBarthelmeh/master
aes.c : check ILP32 macro defined
2016-09-14 09:58:19 -07:00
109642fef4 aes.c : check ILP32 macro defined 2016-09-14 09:33:48 -06:00
b6937626b4 don't require uneeded temp with WC_NO_CACHE_RESISTANT 2016-09-13 17:01:50 -07:00
7b3fc558ec add WC_NO_CACHE_RESISTANT option for old code path 2016-09-13 16:45:15 -07:00
b77c350153 Merge pull request #547 from toddouska/mathca
Remove timing resistant cache key bit monitor leaks
2016-09-13 14:34:23 -07:00
05d78dc2ce Merge pull request #544 from cconlon/rsafix
include MAX_RSA_INT_SZ in wc_RsaKeyToPublicDer(), for 4096-bit keys
2016-09-13 11:24:03 -07:00
46a0ee8e69 switch ecc timising resistant mulmod double to use temp instead of leaking key bit to cache monitor 2016-09-13 11:10:10 -07:00
0477d5379e Merge pull request #546 from toddouska/aesca
AES T table cache preload.
2016-09-13 11:05:28 -07:00
6ef9e79ff5 switch timing resistant exptmod to use temp for square instead of leaking key bit to cache monitor 2016-09-13 09:13:39 -07:00
6ae1a14c9f do aes cache line stride by bytes, not word32s 2016-09-12 21:09:08 -07:00
77cf700657 Update to allow resumption with session tickets and extended master secret. 2016-09-12 16:06:51 -07:00
c6256211d6 compress aes last round decrypt table, prefetch Td tables before aes decrypt rounds, prefecth compressed table before last round 2016-09-12 13:04:30 -07:00
97a64bcc7c remove unique aes last round Te table, pre fetch Te tables during software aes encrypt 2016-09-12 12:03:37 -07:00
c1136a30e9 1. Enabled the extended master secret in the Windows IDE user_settings.h
file by default.
2. Fixed scan-build warning about an assignment to a variable that isn't
used again in the function. Commented out the line.
2016-09-12 09:42:42 -07:00
b994244011 Revising the Extended Master Secret support. Removing the dynamic
TLSX support for the extention and treating it like the Signature
and Hash algorithms extension. It is to be enabled by default and
the user can turn it off at run time or build time.
2016-09-11 18:05:44 -07:00
a149d83bff include MAX_RSA_INT_SZ in wc_RsaKeyToPublicDer(), for 4096-bit keys 2016-09-09 16:11:56 -06:00
68e48e84fd Merge pull request #541 from toddouska/comp
detect server forcing compression on client w/o support
2016-09-09 13:00:22 -07:00
fc54c53f38 Merge pull request #543 from JacobBarthelmeh/ARMv8
ARMv8 : increase performance with SHA256
2016-09-09 10:23:44 -07:00
3ec66dd662 ARMv8 : sanity checks and change constraint type 2016-09-09 00:27:40 +00:00
bd3e40d2fc Merge pull request #542 from JacobBarthelmeh/master
verify case with unexpected input
2016-09-08 16:07:28 -07:00
f4e604dec3 verify case with unexpected input 2016-09-08 15:32:09 -06:00
0c21d76ce3 detect client not sending any compression types 2016-09-08 12:06:22 -07:00
4fb1431727 Added support for the extended master secret extension to the sniffer. 2016-09-08 11:25:02 -07:00
79af4d30e0 ARMv8 : increase performance with SHA256 2016-09-08 18:00:24 +00:00
3e80d966d2 Merge pull request #540 from dgarske/fix_noprng_nosha2
Fix to allow disabling P-RNG and SHA256 with CUSTOM_RAND_GENERATE_BLOCK
2016-09-07 16:33:32 -07:00
3aefc42f04 have TLS server side verify no compression is in list if not using compression 2016-09-07 15:28:30 -07:00
f6b786cfb5 Updated the random.h source inline comments to clarify SHA256 and RC4. 2016-09-07 09:23:43 -07:00
baebec4ca4 Merge pull request #538 from JacobBarthelmeh/ARMv8
initial ARMv8 instructions
2016-09-07 09:20:14 -07:00
a5db13cd01 detect server forcing compression on client w/o support 2016-09-07 09:17:14 -07:00
8d6ea61a4f Fix to allow disabling P-RNG and SHA256 when CUSTOM_RAND_GENERATE_BLOCK is used. Added inline documentation to describe RNG source options. Example: ./configure --enable-cryptonly --disable-hashdrbg CFLAGS="-DNO_SHA256 -DCUSTOM_RAND_GENERATE_BLOCK" 2016-09-06 16:42:53 -07:00
09b29cb1d4 ARMv8 AES: remove extra memcpy during encrypt/decrypt 2016-09-02 22:55:17 +00:00
33f24ebaa8 Merge pull request #537 from ejohnstown/ocsp-issuerKeyHash
OCSP Fixes
2016-09-02 14:57:07 -06:00
8e4ccd355c refactor ALIGN16 macro to types.h 2016-09-01 21:24:03 +00:00
0f0e0ca9a5 add extended master to example client 2016-09-01 15:17:46 -06:00
88fab67804 add extended master unit tests 2016-09-01 15:15:17 -06:00
e4f527a332 initial extended master secret support 2016-09-01 15:12:54 -06:00
5bf8806655 add wc_Sha384/512GetHash() functions 2016-09-01 15:05:27 -06:00
41912b92c6 initial ARMv8 instructions 2016-09-01 18:10:06 +00:00
963b9d4c4d OCSP Fixes
1. When using Cert Manager OCSP lookup, the issuer key hash wasn't
being set correctly. This could lead to unknown responses from lookup.
2. Default OCSP lookup callback could get blocked waiting for server
to close socket.
2016-09-01 09:58:34 -07:00
a0b02236b8 Merge pull request #527 from danielinux/master
Support for Frosted OS
2016-08-31 10:07:25 -06:00
092916c253 Merge pull request #536 from ejohnstown/dtls-sctp
DTLS over SCTP
2016-08-30 13:09:40 -07:00
e0a035a063 DTLS-SCTP Tests
1. Added a check to configure for SCTP availablility.
2. Added DTLS-SCTP to the cipher suite test.
2016-08-29 15:24:51 -07:00
de3f66b946 Merge pull request #515 from dgarske/cryptonly_static_mem
Added support for static memory with wolfCrypt
2016-08-29 15:23:28 -06:00
ddff90ea26 Fix duplicate declaration of "wolfSSL_init_memory_heap" (errors after rebase). 2016-08-29 11:50:43 -07:00
6a70403547 Fix for "not used" devId in benchmark. 2016-08-29 11:01:16 -07:00
2ecd80ce23 Added support for static memory with wolfCrypt. Adds new "wc_LoadStaticMemory" function and moves "wolfSSL_init_memory_heap" into wolfCrypt layer. Enhanced wolfCrypt test and benchmark to use the static memory tool if enabled. Added support for static memory with "WOLFSSL_DEBUG_MEMORY" defined. Fixed issue with have-iopool and XMALLOC/XFREE. Added check to prevent using WOLFSSL_STATIC_MEMORY with HAVE_IO_POOL, XMALLOC_USER or NO_WOLFSSL_MEMORY defined. 2016-08-29 10:38:06 -07:00
05a35a8332 fix scan-build warning on the simple SCTP example server 2016-08-26 20:33:05 -07:00
aed68e1c69 1. Needed to tell the client to use sctp.
2. Creating the example sockets needed the IPPROTO type.
2016-08-26 19:58:36 -07:00
46e92e0211 DTLS-SCTP example client and server
1. Update the example client and server to test DTLS-SCTP.
2. Modify the test.h functions for setting up connections to allow
for a SCTP option.
3. Update other examples to use the new test.h functions.
4. Removed some prototypes in the client header file were some functions
that should have been static to the client.c file and made them static.
2016-08-26 19:58:36 -07:00
6d5df3928f SCTP-DTLS examples
1. Added the set SCTP mode command to client and server.
2. Added a 4K buffer test case.
2016-08-26 19:58:36 -07:00
bab071f961 1. Implemented the SCTP MTU size changes for transmit.
2. Simplified the MAX_FRAGMENT size when calling SendData().
2016-08-26 19:58:36 -07:00
a6c0d4fed7 1. Added missing -DWOLFSSL_SCTP to configure.ac.
2. Don't do hello verify requests in SCTP mode.
3. Implemented the SCTP MTU size changes.
4. Simplified the MAX_FRAGMENT size when calling ReceiveData().
2016-08-26 19:58:36 -07:00
52e2f1a7ab typecasts to clear static analysis warnings on SCTP examples 2016-08-26 19:58:36 -07:00
f3dca48e99 Fix polarity on the DTLS-SCTP check. 2016-08-26 19:58:36 -07:00
7b3255b5bb 1. Simplified the IsDtlsSctpMode() check.
2. Checked IsDtlsSctpMode() to skip saving messages to retransmit and
skip retransmissions.
2016-08-26 19:57:09 -07:00
c1970434d1 simplify the SCTP options 2016-08-26 19:43:52 -07:00
b7a35eabd2 Add simple SCTP example tools 2016-08-26 19:40:50 -07:00
ebbf5ec72b add new options and accessors for SCTP 2016-08-26 19:40:50 -07:00
2d9b6cf27a added SCTP to configure.ac 2016-08-26 19:40:50 -07:00
d7ac7af4b0 Merge pull request #532 from toddouska/sb-aiaddr
make sure static analysis realizes err_sys does exit()
2016-08-26 16:29:20 -07:00
930c692598 Merge pull request #535 from toddouska/ecc521-no64
fix normal math 16bit digit_bit for all ecc sizes
2016-08-26 14:59:01 -07:00
bd312cb766 Merge pull request #533 from dgarske/dg_fixes
Fixes for HMAC/small stack heap and disable RSA warnings
2016-08-26 14:30:55 -07:00
401463a983 Merge pull request #534 from dgarske/ecc_cust_fix
Fixed issue with "wc_ecc_set_custom_curve" function and ECC test improvements
2016-08-26 14:25:15 -07:00
efabbcf305 fix normal math 16bit digit_bit for all ecc sizes 2016-08-26 13:47:53 -07:00
bf23b2f9d1 Fix issue with "wc_ecc_set_custom_curve" function not setting index as "ECC_CUSTOM_IDX". Cleanup of the ECC tests to return actual error code (when available) and make sure keys are free'd. Some trailing whitespace cleanup. 2016-08-26 12:35:47 -07:00
925e5e3484 Fixes typo issue with heap in hmac and small stack enabled. Fixed "never read" scan-build warnings with typeH and verify when RSA is disabled. 2016-08-26 10:33:01 -07:00
86e889a7fa only force exit() in all cases with gcc since we know noreturn attribute there 2016-08-26 10:20:58 -07:00
dd7f9b618d make sure static analysis realizes err_sys does exit() 2016-08-25 12:23:57 -07:00
78ca9e7716 Merge pull request #482 from dgarske/async
Asynchronous wolfCrypt RSA and TLS client support
2016-08-25 10:06:18 -07:00
07345579ec Merge pull request #531 from cconlon/distro
Add "--enable-distro" build option
2016-08-23 14:31:23 -07:00
a9278fe492 Added check for GetLength result in asn GetIntRsa function. Fixed return code in random.c for "wolfAsync_DevCtxInit" due to copy/paste error. Added RSA wc_RsaCleanup to make sure allocated tmp buffer is always free'd. Eliminated invalid RSA key type checks and "RSA_CHECK_KEYTYPE". 2016-08-23 11:31:15 -07:00
91ccf1bd86 do not enable ARC4 or sniffer in distro build 2016-08-22 15:33:45 -06:00
45c8ed1436 remove -X from ocsp stapling tests that are not external 2016-08-22 14:18:35 -06:00
ebba0efaa4 Merge pull request #528 from jrblixt/tests_api_develop
Added Functions to wolfSSL/test/api.c
2016-08-22 09:38:23 -07:00
1a94c0bbdd add distro build option 2016-08-22 10:00:37 -06:00
6f0239441b Merge pull request #530 from ejohnstown/dtls-ticket
DTLS and Session Ticket fix
2016-08-22 09:37:28 -06:00
a9935cbc28 Made changes found by Jenkins. 2016-08-19 10:23:55 -06:00
fa1989b729 fix building the new session ticket message for DTLS, take into account the additional header sizes 2016-08-18 17:51:25 -07:00
813a9b05b5 Clean up and Chris check added the changes. 2016-08-18 15:07:07 -06:00
f61c045e65 Changes to the Assert Macros used and added wolfSSL_CTX_use_certificate_buffer() 2016-08-18 10:03:33 -06:00
3d3f8c9dd3 Support for Frosted OS 2016-08-18 14:56:14 +02:00
b068eec96d added wolfSSL_CTX_SetMinVersion 2016-08-17 14:41:37 -06:00
73089200bf Merge branch 'master' of https://github.com/wolfSSL/wolfssl into tests_api_develop 2016-08-17 14:12:43 -06:00
cddc771829 Added wolfSSL_SetMinVersion 2016-08-17 14:05:37 -06:00
584733b138 Chris looked at functions added for correctness. 2016-08-17 11:27:14 -06:00
65b2b14a0f added test functions for wolfCrypt_Init and OCSP stapling v1 and v2 2016-08-17 10:32:03 -06:00
3e6be9bf2c Fix in "wc_InitRsaKey_ex" for normal math so mp_init isn't called to defer allocation. 2016-08-15 14:07:16 -06:00
17a34c5899 Added asynchronous wolfCrypt RSA, TLS client and Cavium Nitrox V support. Asynchronous wolfSSL client support for "DoServerKeyExchange", "SendClientKeyExchange", "SendCertificateVerify" and "DoCertificateVerify". Fixes for async DTLS. Refactor of the wolf event and async handling for use in wolfCrypt. Refactor of the async device support so its hardware agnostic. Added Cavium Nitrox V support (Nitrox tested using SDK v0.2 CNN55XX-SDK with new configure "--with-cavium-v=/dir" option). Moved Nitrox specific functions to new port file "port/cavium/cavium_nitrox.c". RSA refactor to handle async with states. RSA optimization for using dpraw for private key decode. Use double linked list in wolf event for faster/cleaner code. Use typedef for wolf event flag. Cleanup of the async error codes. wolfCrypt test and benchmark support for async RSA. Asynchronous mode enabled using "./configure --enable-asynccrypt". If no async hardware is defined then the internal async simulator (WOLFSSL_ASYNC_CRYPT_TEST) is used. Note: Using async mode requires async.c/h files from wolfSSL. If interested in using asynchronous mode please send email to info@wolfssl.com. 2016-08-15 13:59:41 -06:00
5347e32d63 Merge pull request #526 from toddouska/fm64-types
don't setup 64bit typedef with fastmath if not needed
2016-08-15 13:14:59 -06:00
d1d6571575 Merge pull request #525 from toddouska/session
add resume session string script check, make GetDeepCopySession stati…
2016-08-15 13:11:53 -06:00
527c375884 don't setup 64bit typedef with fastmath if not needed 2016-08-15 11:02:06 -07:00
d74fa8299a add resume session string script check, make GetDeepCopySession static local and check reutrn code 2016-08-15 09:32:36 -07:00
b38218a0b9 Merge pull request #524 from kaleb-himes/certs-buffs-and-tests
cert updates, new buffers, new test with buffers
2016-08-14 08:39:37 -07:00
da18e463ed remove constraints on inclusion of certs_test.h 2016-08-12 17:00:22 -06:00
03295ec6d7 update certs, extend ntru to 1000 days, add der formatted ecc, new ecc buffer test
changes from first review

move to 256 bit defines
2016-08-12 13:00:52 -06:00
7cf13f84b7 Merge pull request #522 from JacobBarthelmeh/master
help static analysis tools
2016-08-10 16:37:16 -07:00
b502d9dcf7 help static analysis tools 2016-08-10 14:23:27 -06:00
fd9f8125e3 Merge pull request #521 from dgarske/improve_inline_misc
Change misc.c error to warning when trying to be compiled and inline enabled
2016-08-09 13:09:20 -06:00
a8b2ced588 Merge pull request #519 from dgarske/fix_compat_wo_ecc
Fix for openssl compatibility without ECC
2016-08-08 13:46:58 -07:00
317a7f2662 Change misc.c error to warning and exclude the misc.c code from being compiled. Most people include all .c files and by default inlining is allowed, which in turn causes an #error in misc.c and it must be excluded. Since we know its already been properly included there is no reason to throw error here. Instead, show warning and exclude code in .c file. 2016-08-08 13:13:59 -07:00
b0e4acaac1 Fix for openssl compatibility without ECC. Disable "wolf_OBJ_nid2sn", "wolf_OBJ_sn2nid" and "wolf_OBJ_obj2nid" when "OPENSSL_EXTRA" defined and "HAVE_ECC" is not defined. 2016-08-08 10:29:58 -07:00
76e8438059 Merge pull request #518 from dgarske/fix_build_w_callbacks
Fix build with "WOLFSSL_CALLBACKS" defined.
2016-08-06 10:11:53 -07:00
49fb0d56b0 Merge pull request #516 from dgarske/fix_asn_wo_hmac
Fix build issue with ASN enabled and no HMAC
2016-08-06 10:07:00 -07:00
c8cfe1ffa1 Merge pull request #511 from dgarske/openssl_compat_fixes
Various improvements to support openssl compatibility
2016-08-06 09:59:31 -07:00
dd03af2cf4 Merge pull request #512 from dgarske/fix_crl_pad
Fixed issue with CRL check and zero pad
2016-08-06 09:56:59 -07:00
cc462e2c50 Merge pull request #513 from kojo1/Der2Pem
Adds "wc_DerToPem" CRL_TYPE support
2016-08-05 14:35:15 -07:00
d8c63b8e66 Various improvements to support openssl compatibility.
* Fixed bug with "wolfSSL_get_cipher_name_internal" for loop using incorrect max length for "cipher_name_idx" (this caused fault when library built with NO_ERROR_STRINGS and calling it).
* Adds new "GetCipherNameInternal" function to get cipher name using internal "cipherSuite" index only (for scenario where WOLFSSL object does not exist).
* Implements API's for "wolf_OBJ_nid2sn" and "wolf_OBJ_sn2nid". Uses the ecc.c "ecc_sets" table to locate NID (ECC ID and NID are same).
* Added "WOLFSSL*" to HandShakeInfo.
* Allowed "SetName" to be exposed.
* Added "wolfSSL_X509_load_certificate_buffer". Refactor "wolfSSL_X509_load_certificate_file" to use new function (no duplicate code).
2016-08-05 14:15:47 -07:00
32b0303beb Fix build with "WOLFSSL_CALLBACKS" defined. 2016-08-05 14:06:58 -07:00
6b1ff8e9d7 Only try and return serial number or check padding if the serial number size is greater than 1. 2016-08-05 12:53:26 -07:00
a17bc2a42e Fix build issue with ASN enabled and no HMAC (missing MAX_DIGEST_SIZE). Switch to using WC_MAX_DIGEST_SIZE from hash.h, which is always available. Added small stack option for digest in MakeSignature. Fixed build error with unused "testVerifyCount" if "NO_ECC_SIGN" or "NO_ECC_VERIFY". 2016-08-05 12:19:30 -07:00
eeb506b8c0 Merge pull request #514 from dgarske/fix_arm_cc_warn
Fixes for warnings when cross-compiling with GCC ARM.
2016-08-05 10:07:32 -07:00
96da2df7ec Additional max index and serial number size checks in "GetSerialNumber". 2016-08-03 17:04:44 -07:00
2c1309ffc7 Fixes for warnings when cross-compiling with GCC ARM. 2016-08-03 16:53:53 -07:00
e01dcb671d eliminate tail nl 2016-08-03 11:12:10 +09:00
ed4cd2438f CRL_Type to wc_DerToPem 2016-08-03 10:53:54 +09:00
9ddfe93c43 Fixed issue with CRL check and zero pad (the GetRevoked function was not trimming pad). Added new ASN "GetSerialNumber" function and implemented it in three places in asn.c. 2016-08-02 16:47:21 -07:00
67d607324a Merge pull request #509 from JacobBarthelmeh/Release
prepare for release 3.9.8
2016-07-28 18:47:39 -07:00
32c0b6d97a prepare for release 3.9.8 2016-07-28 15:46:45 -06:00
dcc0f87ce6 Merge pull request #506 from toddouska/del_point
fix remaining non fpecc ecc_del_point w/o heap
2016-07-27 18:54:46 -06:00
303561c1a1 Merge pull request #505 from toddouska/timing
fix scan-build warning on ecc memory alloc failure
2016-07-27 15:52:01 -07:00
a94f34c8e2 fix remaining non fpecc ecc_del_point w/o heap 2016-07-27 14:24:34 -07:00
6cd4acbdba Merge pull request #504 from dgarske/oid_unknown_fix
Fix for "OID Check Failed"
2016-07-27 14:16:04 -07:00
20c991717f Merge pull request #503 from JacobBarthelmeh/mysql
change priority of cipher suite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
2016-07-27 12:13:47 -07:00
7cf0b8fe85 fix scan-build warning on ecc memory alloc failure 2016-07-27 11:20:08 -07:00
b0e72dd692 Fix for "OID Check Failed". This restores behavior to what it was prior to commit "7a1acc7". If an OID is not known internally skip the verify and return success and the OID sum. 2016-07-27 10:39:42 -07:00
37b84abe0b change priority of cipher suite TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 2016-07-27 09:36:16 -06:00
c834216cca Merge pull request #501 from ejohnstown/key-usage
only check server's cert key encipher on client for RSA key exchange
2016-07-26 15:45:38 -07:00
0265b0f4bb only check server's cert key encipher on client for RSA key exchange 2016-07-26 13:32:54 -07:00
993838153e Merge pull request #487 from moisesguimaraes/fix-ocspstapling-getca
fixes ocsp signer lookup in the cert manager.
2016-07-26 12:42:47 -07:00
edbec4db20 Merge pull request #500 from dgarske/ocsp2_asn_fix
Fix for failing OID check with "ocspstapling2" enabled
2016-07-26 12:41:50 -07:00
242d26eba2 Merge pull request #488 from cconlon/sig_algo
leave off SHA1-RSA/ECDSA signature algorithms when NO_OLD_TLS is defined
2016-07-26 11:05:24 -07:00
c80f1805f0 Fix for failing OID check with "ocspstapling2" enabled. Found OID type in "ToTraditional" that should be keyType, not sigType. Added optional OID decode function and optional OID info dump in "GetObjectId" (both off by default). 2016-07-26 10:35:40 -07:00
5bb250583e Merge pull request #499 from toddouska/timing
add --enable-harden swtich for timing resistance and blinding, on by …
2016-07-26 10:14:20 -07:00
fc6a5c0702 fix mcapi w/o harden 2016-07-26 09:06:46 -07:00
a274386693 fix user rsa no error codes? 2016-07-25 19:19:46 -07:00
51042e166f fix mcapi with blinding API addition 2016-07-25 15:57:38 -07:00
cd5486a4e6 fix user_rsa with blinding API addition 2016-07-25 15:33:28 -07:00
ea683f493a Merge pull request #498 from kaleb-himes/cert-updates
update certs pre-release: NTRU certs expired in mid june
2016-07-25 15:19:34 -07:00
16336e37ec fix blinding with fips 2016-07-25 13:47:53 -07:00
88f847de90 add --enable-harden swtich for timing resistance and blinding, on by default 2016-07-25 13:24:36 -07:00
4121667586 update certs pre-release: NTRU certs expired in mid june 2016-07-25 13:05:52 -06:00
096e3f9b8b Merge pull request #496 from JacobBarthelmeh/staticmemory
add helper functions for choosing static buffer size
2016-07-21 16:17:34 -07:00
e8f7d78fc4 add helper functions for choosing static buffer size 2016-07-21 12:11:15 -06:00
b81e687bf3 Merge pull request #490 from JacobBarthelmeh/master
Static Memory Fixes
2016-07-20 20:27:03 -07:00
8f2af608a7 Merge pull request #492 from JacobBarthelmeh/staticmemory
set heap hint for ctx
2016-07-20 20:25:38 -07:00
e920e6cee0 Merge pull request #495 from toddouska/rng-redef
fix WC_RNG redeclare
2016-07-20 19:22:08 -07:00
2c92fee59f fix WC_RNG redeclare 2016-07-20 17:18:58 -07:00
b265666174 Merge pull request #491 from toddouska/rsab-fixes
fix rsablind other builds
2016-07-20 15:22:19 -07:00
81526f8384 move wolfSSL Get RNG out of ifdef in header 2016-07-20 11:35:57 -07:00
1b980867d6 fix rsablind other builds 2016-07-20 11:35:57 -07:00
5d8a78be30 set heap hint for ctx 2016-07-20 11:47:36 -06:00
1f5b6d4e66 sanity check on buffer size 2016-07-20 11:44:22 -06:00
01ecc64052 avoid race condition with IO and handshake counter 2016-07-20 11:44:22 -06:00
17207ff61b account for when FreeHandshakeResources is not called 2016-07-20 11:44:22 -06:00
8423ad0e96 Merge pull request #493 from dgarske/ecc_fixes
ECC fixes with Shamir disabled
2016-07-20 10:40:14 -07:00
e0f2bbd1b4 Added comment about why 0's test is disabled. ECC without Shamir fails with fast or normal math. 2016-07-19 19:12:45 -07:00
5e2502fa95 ECC without Shamir has issues testing all zero's digest, so disable this test if not using Shamir method. Fixed comment about "NO_ECC_SECP". 2016-07-19 14:34:32 -07:00
7a419ba6d8 Merge pull request #472 from dgarske/ecc_brainpool_koblitz
ECC and TLS support for all SECP, Koblitz and Brainpool curves
2016-07-19 11:44:53 -07:00
bdbf972d42 Merge pull request #486 from cconlon/openssl-script
openssl.test, switch -Verify to -verify to accomodate ADH cipher suites
2016-07-19 11:38:52 -07:00
32a2bd3863 Merge pull request #489 from toddouska/rsablind
Adds WC_RSA_BLINDING for RSA Private Operations
2016-07-19 09:03:09 -07:00
f88f501923 add unique RNG missing error 2016-07-18 18:10:38 -07:00
e866b55bb7 removes fallback. 2016-07-18 22:02:41 -03:00
1c71fb4ad1 scope tmpa/b with blinding, document RSA options 2016-07-18 17:37:03 -07:00
c2b55f69fa fix 32bit mp_add_d need 2016-07-18 12:49:31 -07:00
d235a5f0cc add WC_RSA_BLINDING, wc_RsaSetRNG() for RSA Private Decrypt which doesn't have an RNG 2016-07-18 11:57:47 -07:00
d3f7ddc486 leave off SHA1-RSA/ECDSA signature algorithms when NO_OLD_TLS is defined 2016-07-15 14:32:24 -06:00
dd329ac97b fixes ocsp signer lookup in the cert manager. 2016-07-15 17:12:04 -03:00
e75642f011 openssl.test, switch -Verify to -verify to accomodate ADH cipher suites 2016-07-15 13:39:32 -06:00
c47f5f404c Merge pull request #480 from toddouska/noecho
don't echo session id on blank ticket if we're going to create a new …
2016-07-15 13:12:27 -06:00
b1de4dcbbb Merge pull request #481 from wolfSSL/fix_anon_cipher
Anonymous cipher fix
2016-07-15 13:05:32 -06:00
9a6f66a093 Merge pull request #484 from JacobBarthelmeh/master
add ARM 64bit type macro
2016-07-15 09:50:39 -07:00
aa9b1e964c Fix for possible seg fault with anonymous cipher mode enabled. Do not perform signature/verify when using anon_cipher. 2016-07-14 15:58:35 -07:00
515bf5e135 add ARM 64bit type macro 2016-07-14 15:29:32 -06:00
c7b969b5b4 don't echo session id on blank ticket if we're going to create a new ticket 2016-07-13 18:45:10 -07:00
9a9a98ac82 Merge pull request #479 from toddouska/idlen
allow bogus client sessoinID of non 32 bytes with session ticket
2016-07-13 14:57:33 -06:00
5f21f93c61 allow bogus sessionID when ticket callback rejects ticket 2016-07-13 12:47:59 -06:00
c20551cc56 Merge pull request #478 from toddouska/flatten-fix
fix rsa flatten eSz check
2016-07-13 08:50:39 -07:00
7b76c3ab36 allow bogus client sessoinID of non 32 bytes with session ticket 2016-07-13 09:47:49 -06:00
b6aefad568 Merge pull request #477 from JacobBarthelmeh/master
remove hard tabs and replace with spaces
2016-07-12 16:31:13 -06:00
7a906e47ed fix rsa flatten eSz check 2016-07-12 16:28:59 -06:00
97f60bc831 Merge pull request #476 from dgarske/fix_lpcxpresso
Fixes for LPCXpresso eclipse project
2016-07-12 15:23:09 -06:00
92341292c7 remove hard tabs and replace with spaces 2016-07-12 14:12:44 -06:00
8a20f7a909 Fix to exclude misc.c by default to eliminate #error about inline. 2016-07-12 13:07:08 -07:00
1c9f013c09 Include the .project and .cproject files in distribution. Fix issue with adding wolfssl to existing project, so the <name> is "wolfssl", not "lib_wolfssl". 2016-07-12 13:03:47 -07:00
1b149d3941 Merge pull request #474 from ejohnstown/dtls-ver
One last fix of the DTLS version numbers
2016-07-11 12:35:27 -07:00
3dc09ae0fb one last fix of the DTLS version numbers 2016-07-08 17:20:56 -07:00
24ad3f7f3e Merge pull request #473 from toddouska/ecc-timing-fix
Fix ecc timming missing variable. Fix fpecc thread local storage size with clang. Don't include comba includes if FP_SIZE is too small for index.
2016-07-08 15:08:58 -07:00
acc5389f9a Fixed possible issue with OID pointer returned from "wc_ecc_get_oid" if "HAVE_OID_ENCODING" enabled. Was previously returning static pointer, which was shared for all OID's. Now uses cache for each OID, which also improves performance on subsequent calls to the same OID. 2016-07-08 14:22:21 -07:00
19db78fc76 Moved the ECC OID's into separate static const array to reduce ecc_sets size. Added "ecc_oid_t" typedef to determine "oid" size based on HAVE_OID_ENCODING option. Reduced the encoded variable size to word16. 2016-07-08 14:15:54 -07:00
8da8c87fa4 don't include comba includes if FP_SIZE is too small for index 2016-07-08 12:29:38 -07:00
c7318c8576 fix fpecc thread local storage size with clang 2016-07-08 12:01:52 -07:00
68d66d12d6 fix ecc timming missing variable 2016-07-08 11:57:24 -07:00
7a1acc7e56 Added TLS support for all SECP and Brainpool curves. Added ECC curve specs for all Brainpool, Koblitz and R2/R3. Adds new "HAVE_ECC_BRAINPOOL", "HAVE_ECC_KOBLITZ", "HAVE_ECC_SECPR2" and "HAVE_ECC_SECPR3" options. ECC refactor to use curve_id in _ex functions. NID and ECC Id's match now. Added ability to encode OID (HAVE_OID_ENCODING), but leave off by default and will use pre-encoded value for best performance. 2016-07-07 10:59:45 -07:00
0f25ee703d Merge pull request #468 from JacobBarthelmeh/master
option to use test.h without gettimeofday
2016-07-06 18:48:18 -07:00
5fbab0e6a7 option to use test.h without gettimeofday
revert parameter passed to current_time with TIRTOS
2016-07-01 16:57:49 -06:00
00cd0a3146 Merge pull request #471 from dgarske/fixdoubleinit
Remove double call to "wolfCrypt_Init()" in test.c
2016-06-30 19:32:52 -07:00
df87ee810f Merge pull request #469 from cconlon/bug-fixes
update README with CU bug fix note
2016-06-30 19:31:58 -07:00
000f1a19e5 Merge pull request #470 from JacobBarthelmeh/Testing
sanity checks
2016-06-30 19:30:28 -07:00
dcdc28e014 Remove double call to "wolfCrypt_Init()" in test.c. Appears to have been added in static memory merge on 6/10. 2016-06-30 16:51:13 -07:00
8bba628f3f sanity check in function GetInputData and when shrinking buffer 2016-06-30 13:42:38 -06:00
f194c216c0 Merge pull request #466 from JacobBarthelmeh/mutex
free ctx in case of InitMutex fail
2016-06-30 12:05:06 -07:00
cf522314ce sanity checks 2016-06-30 11:41:22 -06:00
a2bd4719ee update README with CU bug fix note 2016-06-29 16:54:25 -06:00
3f36a914da remove cast from enum to int 2016-06-29 14:28:36 -06:00
c17830e5c7 Merge pull request #467 from dgarske/stdlib_macro_cleanup
Cleanup of stdlib function calls
2016-06-29 12:14:09 -07:00
5b3a72d482 Cleanup of stdlib function calls in the wolfSSL library to use our cross-platform "X*" style macros in types.h. 2016-06-29 11:11:25 -07:00
eb072e0344 Merge pull request #463 from JacobBarthelmeh/master
update mysql port
2016-06-28 14:56:57 -07:00
981cf9cbcb Merge pull request #462 from cconlon/bug-fixes
PemToDer Bug Fixes
2016-06-28 09:58:18 -07:00
0589fe0d39 free ctx in case of InitMutex fail 2016-06-28 09:29:28 -06:00
7da797dd4c Merge pull request #464 from wolfSSL/revert-461-bio
Revert "Bio"
2016-06-27 14:50:50 -07:00
f18ff8bfa4 update mysql patch 2016-06-27 15:44:52 -06:00
ac6635593b Revert "Bio" 2016-06-27 10:53:34 -07:00
9c7bea46d2 fix out of bounds read in PemToDer with 0 size der buffer, CU #4 2016-06-27 10:53:19 -06:00
92e501c8e4 fix possible out of bound read in PemToDer header, CU #3 2016-06-27 10:53:19 -06:00
2951e167b5 check return code of PemToDer in wolfSSL_CertManagerVerifyBuffer, CU #2 2016-06-27 10:23:22 -06:00
8fac3fffea fix possible out of bounds read in PemToDer, CU #1 2016-06-27 10:23:22 -06:00
3a18b057d7 Merge pull request #460 from dgarske/DerBufMemcpyCleanup
Cleanup of DerBuffer duplication
2016-06-24 14:51:30 -07:00
fbef3c2523 Merge pull request #461 from JacobBarthelmeh/bio
Bio
2016-06-24 14:50:52 -07:00
49934a5c91 Merge https://github.com/wolfSSL/wolfssl into bio 2016-06-24 14:22:14 -06:00
d0e832bda9 change file name from compat-wolfssl to compat-wolfcrypt 2016-06-24 19:10:39 +02:00
033f308a08 change file name from compat-wolfssl to compat-wolfcrypt 2016-06-24 19:00:39 +02:00
19da114c0c Merge pull request #454 from ejohnstown/dtls-version
DTLS Hello Verify Request Version Number
2016-06-24 08:44:55 -07:00
4215182945 fix macro error 2016-06-24 13:27:49 +02:00
0c43123a01 Fix BIO based on review 2016-06-24 10:54:58 +02:00
379af941a8 Merge pull request #459 from ejohnstown/aes-cmac-fixes
AES-CMAC Fixes
2016-06-23 22:10:26 -06:00
b0f7d819bd Cleanup of DerBuffer duplication that was using memcpy still after refractor and should be direct pointer copy. 2016-06-23 18:14:22 -07:00
ffb537c33f removed dependency on AES-NI for the AES-direct test 2016-06-23 15:34:09 -06:00
0d031fcbd7 added parameter checking to Generate and Verify 2016-06-23 15:34:09 -06:00
746ae2f4e5 Merge pull request #458 from JacobBarthelmeh/master
fix secure renegotiation build
2016-06-23 13:34:39 -07:00
0b91e000bb fix secure renegotiation build 2016-06-23 13:10:39 -06:00
02ef518a75 Merge pull request #456 from dgarske/FixEccCompKey
Fixes for ECC compressed keys
2016-06-22 14:47:42 -07:00
f6bbe845f5 Merge https://github.com/wolfSSL/wolfssl into bio 2016-06-22 09:14:53 -06:00
47c1f4e68f Fix possible use of ForceZero with NULL pointer. Improve init of "kb" when small stack disabled, so memset isn't performed twice. 2016-06-22 07:22:30 -07:00
69db94d668 Fix build error for un-initialized "kb" variable when built with fixed point cache and small stack enabled. 2016-06-22 07:06:07 -07:00
d294dc363e Fix scan-build warning with "redundant redeclaration of 'fp_isprime'". Changed "fp_isprime" and "fp_isprime_ex" to local static only. Also made "fp_gcd", "fp_lcm", and "fp_randprime" static functions. 2016-06-21 19:35:25 -07:00
1db880b6bf Fixed issue with compressed keys and custom curves. The inLen adjustment for compressed curves was only be done for built-in curves. 2016-06-21 15:55:17 -07:00
dd52af0872 ECC cleanup / fixes. Improvements to ECC with fast math enabled to avoid mp_clear on stack variables. Refactor of ECC failure cleanup (fixes possible mem leaks with small stack enabled). Refactor of "fp_is*" response checks to use FP_YES or FP_NO. Pulled libtom enhancement/cleanup of fp_isprime. Fix for compressed keys import with custom curves (still having some issues though). 2016-06-21 15:27:51 -07:00
aa1a405dd1 Fixes for compressed keys. Fix to fast math "mp_cnt_lsb" to return proper value, which fixes "mp_jacobi", which fixes "mp_sqrtmod_prime", which fixes compressed keys for 224-bit key. Removed workarounds for compressed keys. Added new configure option "--enable-compkey". Fixed issue with normal math and custom curves where "t2" could be free'd and used. Fixed issue with mp_dump in integer.c, with not allocating correctly sized buffer for toradix. 2016-06-21 14:06:02 -07:00
5fa80a2667 Merge pull request #455 from toddouska/version
bump dev version
2016-06-20 22:07:18 -07:00
f4473edfb1 bump dev version 2016-06-20 16:20:18 -07:00
335865a5b2 Merge pull request #447 from ejohnstown/dtls-retx
DTLS Retransmit Fix
2016-06-20 15:46:55 -07:00
79e2af8c15 Merge pull request #445 from ejohnstown/dtls-alert
DTLS bad MAC alert
2016-06-20 15:36:18 -07:00
a859cf189d Merge pull request #443 from ejohnstown/new-ccm-suite
Add cipher suite ECDHE-ECDSA-AES128-CCM
2016-06-20 15:34:55 -07:00
6d520e0da9 hello verify request handshake version number to match server hello version number 2016-06-20 11:08:45 -06:00
de4448c59b Merge pull request #452 from dgarske/fixeccscanbuildwarning
Fixes scan-build warning in ecc.c line 2208
2016-06-20 09:09:21 -07:00
3789d9913c Fixes scan-build warning "wolfcrypt/src/ecc.c:2208:6: warning: Use of memory after it is freed". This is due to a rebase issue with static memory changes after the new ECC custom curves changes. The precomp[] is init to NULL at top so cleanup can always be done at end (shouldn't be done in middle). 2016-06-18 22:35:52 -07:00
9173ecdc04 Merge pull request #450 from dgarske/NidFix
Fix for NID names on NIST prime 192 and 256 curves
2016-06-18 16:14:04 -07:00
eb1d8d5df6 Fix for NID names on NIST prime 192 and 256 curves. Cleanup of the memcpy/memset in .i files to use portable names. 2016-06-17 15:59:25 -07:00
ffee1eafd9 add test_bio.txt to .getignore 2016-06-17 16:20:54 -06:00
b8e00a3448 Merge pull request #449 from moisesguimaraes/fix-ocsp-stapling-tests
fixes ocsp stapling tests ignoring CRL
2016-06-17 15:16:39 -06:00
ea71814518 Merge https://github.com/wolfSSL/wolfssl 2016-06-17 13:58:53 -06:00
e8c4950a83 Merge pull request #446 from cconlon/cleanup
Remove unimplemented function prototypes
2016-06-17 12:57:55 -07:00
4fc07a2e9e Merge pull request #415 from dgarske/customcurve-mathupdate
Support for custom ECC curves and math lib updates
2016-06-17 12:56:52 -07:00
db7aab5e37 fixes ocsp stapling tests ignoring CRL 2016-06-17 08:19:57 -03:00
16b85cee8f Merge pull request #448 from cconlon/winfix
Fix windows example echoserver
2016-06-16 18:18:32 -06:00
a7c7407406 fix windows example echoserver 2016-06-16 16:39:18 -06:00
6da166d83b Enhancement / cleanup of the "wc_ecc_make_key_ex" API so it can be used with "keysize" or "dp" and allows compatibility with existing "wc_ecc_make_key". Note: "wc_ecc_make_key_ex" was not previously public, so changing it at this point is okay. 2016-06-16 10:38:15 -07:00
d55663eaee Added ECC API's for using custom curves that are not in the "ecc_sets" list. Added wolfCrypt test to validate/demonstrate custom curve using BRAINPOOL256R1. Exposed "wc_ecc_make_key_ex" and added "wc_ecc_import_x963_ex" / "wc_ecc_import_raw_ex" API's that accept "const ecc_set_type*" for custom curve. Internally use "ECC_CUSTOM_IDX" (-1) to define custom curve is used. Added "--enable-ecccustcurves" option to configure.ac. 2016-06-16 10:09:41 -07:00
69b6ac504f Fixes for ecc heap errors after rebase. 2016-06-16 06:46:22 -07:00
8f3c56c03f Fix where the last flight was getting retransmit on timeout notification. 2016-06-15 18:44:25 -07:00
31908b7263 remove unused protos for wc_Sha384Free and wc_Sha512Free, not impmlemented by ti-hash.c 2016-06-15 11:34:29 -06:00
3fec69d3f8 remove unused proto for wc_SetCertificatePolicies 2016-06-15 10:50:41 -06:00
237193fdee Fixed scan-build warning about "len" being used un-initialized in ecc_mul2add. Cleanup of the "mu" variable handling. 2016-06-15 08:41:51 -07:00
7c5483ba0b Performance improvements in fp_mulmod, fp_submod and fp_submod to handle ALT_ECC_SIZE better. Revert fp_clear to fp_add_d, since it isn't required and slows it down. 2016-06-15 08:41:51 -07:00
5703e5eadb ECC changes to support custom curves. Added new "WOLFSSL_CUSTOM_CURVES" option to support non-standard ECC curves in ecc_is_point and ecc_projective_dbl_point. Refactor to load and pass curve "a" parameter down through ECC functions. Relocated mp_submod and added mp_addmod. Refactor to pass mp variable directly (not pointer) for montgomery variable. Fix in mp_jacobi to also handle case of a == 0. Cleanup of *_ecc_mulmod and wc_ecc_make_key_ex error handling. Cleanup of ecc_map for handling normal, fast and alt_ecc math for optimization of performance and allowing reduced ecc_size. 2016-06-15 08:41:51 -07:00
bb17bac018 Updated the naming for the ECC curve sets. Additional comments for each curve parameter. 2016-06-14 16:56:22 -07:00
87c00eb3f3 Math updates from libtom. Fixes in mp_read_radix for to include char 36 and clear the destination before checks. Fix to clear tmp value on fp_sub_d and fp_add_d. Fixes in assembly for x86-32 INNERMUL, PPC32 INNERMUL and PROPCARRY and x86-64 SQRADD. Added mp_isneg. Refactor of mp_iszero, mp_iseven, mp_isodd and mp_isneg to check using MP_YES or MP_NO. Changed fp_read_unsigned_bin "b" arg to const. Removal of the "register" on stack variables to let compiler determine best optimization. 2016-06-14 16:56:22 -07:00
7a3cb23af9 Merge pull request #444 from JacobBarthelmeh/master
prepare for version 3.9.6
2016-06-14 15:51:01 -07:00
35f43f9216 In DTLS, if a mac or decrypt error is detected, just drop the datagram and don't send an alert 2016-06-14 14:36:08 -07:00
03de8e3464 prepare for version 3.9.6 2016-06-14 14:35:12 -06:00
2f9c9b9a22 Add cipher suite ECDHE-ECDSA-AES128-CCM
1. Added the usual cipher suite changes for the new suite.
2. Added a build option, WOLFSSL_ALT_TEST_STRINGS, for testing
   against GnuTLS. It wants to receive strings with newlines.
3. Updated the test configs for the new suite.

Tested against GnuTLS's client and server using the options:

    $ gnutls-cli --priority "NONE:+VERS-TLS-ALL:+AEAD:+ECDHE-ECDSA:+AES-128-CCM:+SIGN-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509" --x509cafile=./certs/server-ecc.pem --no-ca-verification -p 11111 localhost
    $ gnutls-serv --echo --x509keyfile=./certs/ecc-key.pem --x509certfile=./certs/server-ecc.pem --port=11111 -a --priority "NONE:+VERS-TLS-ALL:+AEAD:+ECDHE-ECDSA:+AES-128-CCM:+SIGN-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509"

To talk to GnuTLS, wolfSSL also needed the supported curves option
enabled.
2016-06-13 14:39:41 -07:00
2752f3f9c9 Merge pull request #442 from toddouska/mcapi-aes
fix mcapi aes size with heap
2016-06-11 12:52:59 -07:00
02985b16ac fix mcapi aes size with heap 2016-06-11 09:29:20 -07:00
a156cedabc Merge pull request #435 from JacobBarthelmeh/staticmemory
Staticmemory
2016-06-10 17:03:49 -07:00
707714dd38 threaded fixes with static memory 2016-06-10 15:35:02 -06:00
3d3591a227 typdef gaurd / error out on bad mutex init / handle no maxHa or maxIO set 2016-06-10 14:13:27 -06:00
cbefaef6bc Merge pull request #440 from toddouska/output-size
Output size
2016-06-10 11:33:31 -06:00
2bda6c6449 16 byte aligned static memory 2016-06-10 11:15:54 -06:00
620ea41191 Merge pull request #439 from kaleb-himes/update-cert-buffers
update certificate buffers per github issue #422
2016-06-10 10:08:25 -06:00
dede05db9e Merge pull request #441 from dgarske/time_base64enc
Public "wc_GetTime" API and "configure --enable-base64encode"
2016-06-10 08:47:08 -07:00
ea3d1f8e17 extended method function 2016-06-09 23:41:51 -06:00
b3068ffef5 Added new public "wc_GetTime" API for getting seconds from the asn.c XTIME. Added new "./configure --enable-base64encode" to enable Base64 encoding (now enabled by default for "x86_64"). 2016-06-09 16:26:39 -07:00
6551c9fcab add getter for max output size 2016-06-09 14:51:07 -07:00
76d960c4c0 update certificate buffers per github issue #422 2016-06-09 13:47:33 -06:00
7943f68f2a run allocation tool on ocsp and check for mallocs 2016-06-09 12:03:28 -06:00
367b519407 Merge pull request #424 from kojo1/MDK5
updated MDK5 projects
2016-06-09 10:47:04 -07:00
8be5409bc5 static method func / ocsp callbacks / heap test / alpn free func / remove timing resistant constraint 2016-06-09 11:36:31 -06:00
664d2190ba session ticket extension fix with static memory heap hint 2016-06-08 10:50:20 -06:00
a2d7ba0dd9 add output size getter 2016-06-08 09:32:34 -07:00
e214086dce tlsx with static memory / account for session certs size 2016-06-08 09:18:43 -06:00
c48db891d1 Merge pull request #433 from ejohnstown/aes-cmac
Aes cmac
2016-06-07 16:48:46 -07:00
c1c1990247 Merge pull request #437 from tisb-vikram/master
Enable ECC features for TI devices
2016-06-07 16:00:20 -07:00
57675dc51d add ALT_ECC_SIZE for TI build to reduce memory usage 2016-06-07 14:05:35 -07:00
738373038b clean up staticmemory with crl 2016-06-06 17:50:54 -06:00
e1edadafe1 ocsp with static memory, remove unused function 2016-06-06 16:19:33 -06:00
9f7e8a6f4b Merge pull request #436 from JacobBarthelmeh/master
fix index to check for sperator value
2016-06-06 14:52:20 -07:00
4ba77a7059 add HAVE_SUPPORTED_CURVES to TI-RTOS wolfSSL configuration 2016-06-06 13:50:14 -07:00
db90594909 adjust pointer cast, ssl rng with fips and unused param 2016-06-06 14:32:49 -06:00
e085be9485 fix index to check for sperator value 2016-06-06 10:34:35 -06:00
a25df5b78e Merge pull request #434 from toddouska/crlbuffer
add wolfSSL and wolfSSL_CTX LoadCRLBuffer()
2016-06-06 09:01:25 -07:00
38d5480256 Merge pull request #432 from JacobBarthelmeh/DTLS-MultiCore
import / export of peer connection information
2016-06-06 08:51:24 -07:00
2feee8856e revise static memory and update heap hint 2016-06-04 19:03:48 -06:00
104ff12e76 add staticmemory feature 2016-06-04 19:01:23 -06:00
3f205d19f4 add wolfSSL and wolfSSL_CTX LoadCRLBuffer() 2016-06-03 15:13:16 -07:00
d05754f9db Merge pull request #404 from moisesguimaraes/wolfcrypt-py
wolfcrypt Python wrapper
2016-06-03 08:24:12 -07:00
7f71c526f6 adds python3 support 2016-06-03 10:37:41 -03:00
6736ffe10e adds links to wolfssl.com 2016-06-02 22:08:57 -03:00
a76291c2e2 adds tox instructions 2016-06-02 21:38:34 -03:00
046b987324 callbacks for setting and getting peer ip/port/family 2016-06-02 09:23:12 -06:00
5be916e336 Merge pull request #403 from ejohnstown/dtls-fix
when dropping a DTLS message, drop the whole datagram
2016-05-30 17:26:25 -06:00
73328ac4bc import / export of peer connection information 2016-05-26 16:26:08 -06:00
a4fa4d5253 Merge pull request #431 from JacobBarthelmeh/master
sanity checks on wolfSSL_dtls_get_peer arguments
2016-05-26 14:46:58 -07:00
806a0bbaa7 Merge pull request #430 from toddouska/sesstick_type_typo
fix dynamic type session ticket typos
2016-05-26 11:35:46 -07:00
61801e06df add benchmark for AES-CMAC 2016-05-25 16:12:19 -07:00
1b9b7f52c9 1. Reformat a couple of #ifdefs around if(dtls) checks.
2. Move fuzz update for DTLS GetRecordHeader to be like the TLS case.
3. DtlsCheckWindow only allows current epoch and last epoch.
4. ProcessReply only retransmits flight on a CCS out of sequence when
   still retaining the handshake data.
2016-05-25 15:44:06 -07:00
5e1f06ce52 sanity checks on wolfSSL_dtls_get_peer arguments 2016-05-25 10:57:00 -06:00
669cdfc357 fix dynamic type session ticket typos 2016-05-25 09:47:54 -07:00
ae093ded8f add standalone AES-CMAC generate and verify functions 2016-05-25 09:22:39 -07:00
5d67bb881e fix memory leaks 2016-05-25 17:44:31 +02:00
bb754bb46a Fix Win32 warnings 2016-05-25 13:49:06 +02:00
9bf4598772 use constant for Cmac type 2016-05-24 16:46:04 -07:00
dbfd5dffaf added parameter checks 2016-05-24 11:21:06 -07:00
b3d068dc40 Merge pull request #418 from toddouska/dyntickets
Dyntickets
2016-05-24 11:00:14 -07:00
1d675ed1e6 Fix va_copy error for Win32 build and AES-NI segfault 2016-05-24 18:17:26 +02:00
c0cbc97b06 add AES-CMAC 2016-05-23 17:50:36 -07:00
07ce928bf3 adds installation testing with vagrant 2016-05-23 21:10:44 -03:00
04d5ca41df adds --enable-Sha512 to make sure it is always present 2016-05-23 20:33:11 -03:00
9ab5ec4a36 Merge pull request #428 from dgarske/eccmathfixes
Fixed bug with "ecc_projective_add_point"
2016-05-23 11:46:54 -07:00
61f0af5cf3 Merge pull request #429 from dgarske/wolfcryptinit
Added missing wolfCrypt_Init() to wolfCrypt test application
2016-05-23 09:23:42 -07:00
ab1d6c91bf fix errors (win32, met leak) 2016-05-23 13:46:26 +02:00
99b5aa587f Fix errors (jenkins) 2016-05-23 11:11:57 +02:00
5eb7768d00 Added missing wolfCrypt_Init() to wolfCrypt tests. 2016-05-22 18:18:06 -07:00
15cd06b7ca Fixed bug with "ecc_projective_add_point" that was not protecting the case where Q == R and using the R variable directly for the result. Now if Q == R then swap P and Q and using a local x,y,z, is only required when used with ALT_ECC_SIZE. 2016-05-22 17:31:36 -07:00
7c93912f1d reject messages that are too far from the future 2016-05-22 16:10:47 -07:00
eb6153f028 Merge pull request #425 from shihrer/master
Fixed scripts/benchmark.test, replaced == with -eq
2016-05-20 14:49:43 -06:00
f369f8a434 Merge pull request #426 from jrblixt/master
Changes to date
2016-05-20 14:48:04 -06:00
ed4f67058a Merge branch 'master' of https://github.com/wolfssl/wolfssl 2016-05-20 21:51:13 +02:00
f1860d6263 Changes to date 2016-05-20 09:48:03 -06:00
fa94f5ffe9 Replaced == with -eq to fix benchmark.test scripting error 2016-05-20 09:43:30 -06:00
fcc0eb7a6a fixes install instructions 2016-05-20 03:55:57 -03:00
217ccd8b6a updated MDK5 projects for 3.9.0. Eliminated files for older versions 2016-05-20 13:32:23 +09:00
504081e602 Merge pull request #421 from ejohnstown/limit-country-code
Limit Country Name size
2016-05-19 16:05:15 -07:00
1bb5c48080 Merge pull request #423 from dgarske/bench-ecc-encrypt-decrypt
Added a benchmark for ECC encrypt/decrypt
2016-05-19 14:47:03 -07:00
c1507957c4 Added a benchmark for ECC encrypt/decrypt when enabled via "HAVE_ECC_ENCRYPT" or "--enable-eccencrypt --enable-hkdf". 2016-05-19 11:42:00 -07:00
bae0fe9b63 MakeCertReq() was not checking return codes correctly for the SetFoo()
functions.
2016-05-18 15:14:23 -07:00
5c8daa0ac6 1. SetName() should return error if country code isn't 2 bytes.
2. MakeCert() was not checking return codes correctly for the SetFoo()
    functions.
3. Added error code for invalid country code length.
2016-05-18 15:04:40 -07:00
03e6f7cca3 RFC 5280 Appendix A.1 states that the Country Name in a certificate
shall have a size of 2 octets. Restrict country name length to 2 or 0.
2016-05-18 10:39:18 -07:00
b8c0802e3c Merge pull request #414 from JacobBarthelmeh/DTLS-MultiCore
Dtls multi core
2016-05-17 17:39:18 -07:00
47a1dd8cc4 fixes install steps 2016-05-17 14:15:17 -03:00
9fe6ca3130 remove XSNPRINTF
add a full BIO client/server test
2016-05-17 17:49:30 +02:00
1b278edfd0 fix unused functions, make WOLFSSL first parameter, add comments 2016-05-16 23:48:26 -06:00
a000ee4db3 remove empty dirs 2016-05-16 22:17:09 -03:00
dc080694b4 reorder installation steps 2016-05-16 21:55:31 -03:00
2851f7d6a1 remove unnecessary dependency 2016-05-16 20:37:42 -03:00
2a0adc74a0 fixes wrapper path 2016-05-16 20:13:26 -03:00
347d80e879 removes folders from include.am 2016-05-16 15:49:32 -03:00
40cf30a13d adds .gitignore to include.am 2016-05-16 15:31:51 -03:00
4017e0f8dd fix BIO issues :
- remove unrequited tests
- fix compilations for lighty, stunned, openssh
- wc_BioGetAcceptSocket IPv4 / IPv6 support
- remove <stdio.h> from bio.h
- add NO_STDIO_FILESYSTEM for BIO_printf
- memset -> XMEMSET
- strlen -> XSTRLEN
2016-05-15 20:22:19 +02:00
d76d74d6c5 updates Linux deps on README 2016-05-15 15:08:16 -03:00
c8576566cc add public wolfSSL_dtls_export and api tests 2016-05-14 12:49:09 -06:00
185e60ad19 based on pr#316; turns isDynamic ticket off on some failure cases, move an XFREE out of a Lock that isn't required 2016-05-13 14:11:46 -07:00
1ea01a7ad8 Merge branch 'master' of https://github.com/NickolasLapp/wolfssl into dyntickets 2016-05-13 09:07:55 -07:00
3897f78073 truncated hmac export and sanity checks 2016-05-13 09:11:38 -06:00
67ab30088b Merge pull request #416 from dgarske/mathmemleakfix
Fix mem leak with fast math disabled due to recent ecc_projective_add_point changes
2016-05-12 15:23:19 -07:00
2ad9d41641 Performance improvement for fast math mp_clear to use fp_zero (memset) instead of fp_clear(ForceZero). Added new mp_forcezero function for clearing/free'ing sensitive private key data. Changed ECC and RSA to use mp_forcezero to explicitly handle private key clearing. 2016-05-12 11:50:34 -07:00
8d66ba2923 refactor export/import of cipher specs struct 2016-05-12 10:06:15 -06:00
fbf39a761a refactor export/import of key struct 2016-05-12 09:23:38 -06:00
f9ce2f2677 verify cipher suite is valid on import 2016-05-12 09:09:07 -06:00
39833768cf Merge pull request #417 from toddouska/stdio
make sure stdio.h can be swtiched off if not available
2016-05-11 14:55:05 -07:00
cc16a543dd make sure stdio.h can be swtiched off if not available 2016-05-11 10:11:25 -07:00
440956f8d4 Fixed new issue with ecc_projective_add_point not free'ing the local x, y, z if fast math was disabled. Formatting cleanup in integer.c. 2016-05-11 08:47:30 -07:00
3bff6f10e3 Merge pull request #411 from dgarske/mathfixes
Math fixes
2016-05-10 14:45:20 -07:00
8c45cb1938 add DTLS session export option 2016-05-10 13:27:45 -06:00
2fb4506922 iFixes to FP_MAX_BITS_ECC calculation. Alignment check against digit_bits is based on max ecc bits times two. If alignment check fails we add a digit_bit to make sure we have enough room. 2016-05-10 12:20:39 -07:00
9659505260 updates python docs 2016-05-09 18:46:01 -03:00
d71d0f2cb4 Fix with fast math disabled so ecc_projective_add_point uses temp local variable for x,y,z result. 2016-05-09 13:29:25 -07:00
412141198e drops 'import about' requirement 2016-05-09 15:25:18 -03:00
8f6352725a Fixed math for FP_MAX_BITS_ECC calculations. Error in alignment check. Altered non-aligned formula to be (max bits * 2) + digit, then 8-bit aligned. Cleanup of the example user_settings.h. 2016-05-09 10:34:37 -07:00
8c9b8a596a Fixed calculation of max ECC bits with ALT_ECC_SIZE defined so it only allocates what is required. For 8-bit aligned curve sizes its double the max bits. For un-aligned curves sized, like ECC521, its 521 8-bit aligned, doubled, plus digit bit. 2016-05-09 09:51:11 -07:00
44b1f98b39 Fixed issue with ALT_ECC_SIZE and default value for FP_MAX_BITS_ECC so its based on max enabled ECC curve bits. 2016-05-09 09:51:11 -07:00
880b2e454b Refactor of the ecc_projective_add_point and ecc_projective_dbl_point functions to eliminate duplicate versions. Modified new single functions to work with normal, fast and alt_ecc_size math options. Careful use of mp_clear to retain original performance. 2016-05-09 09:51:11 -07:00
fe58db2a07 Fixed typo with new "eccshamir" configure option. 2016-05-09 09:51:11 -07:00
1b602d783c Fast math correction of "sizeof" to use (). Updates to tfm and ecc comments. 2016-05-09 09:51:11 -07:00
5cbc4bdf29 Added new "WOLFSSL_DEBUG_MATH", which enables use of "mp_dump" to display information about an mp_int. 2016-05-09 09:51:11 -07:00
a4782fcf01 Fix in fast math version of ecc_projective_dbl_point to use a local for x,y,z since ecc_point fp_int's are reduced size and cause math issues with ALT_ECC_SIZE enabled. Added local stack variable cleanups for ecc_projective_add_point. 2016-05-09 09:51:11 -07:00
0ddbe0e60e Enhancement to RSA math function "_fp_exptmod" (non timing resistant version) to support WOLFSSL_SMALL_STACK, which moves the allocation of the 64 fp_int's from the stack to the heap. 2016-05-09 09:51:11 -07:00
fa5dd01001 Fixes/improvements to the wolfCrypt ECC tests. Fixed bug with sharedA/sharedB being too small when BENCH_EMBEDDED is used and curve size over 256 bit. Added error message for ECC test failures, to show the curve size used. Fix to wc_ecc_verify_hash test to use digest that is not all zeros as that doesn't work correctly for non-Shamir ECC math. Changed return code for wc_ecc_check_check so its unique. 2016-05-09 09:51:11 -07:00
a5d27853fa Fixes to fp_mul and fp_div to clear any excess digits on the destination. Added compile-time check to confirm FP_SIZE is compatible with TFM_ acceleration defines enabled. Updated comments in other places where excess digits are cleared. 2016-05-09 09:51:11 -07:00
7c3fbd7644 Fix for fp_copy() when used with ALT_ECC_SIZE so any excess digits on the destination that we didn't write to are set to zero. 2016-05-09 09:51:11 -07:00
9001036e09 Fixes memory leak in the wc_RsaFunction if failure happens when using normal math (not fast math) and RSA_LOW_MEM is not defined. 2016-05-09 09:51:11 -07:00
9f0fa7500f Added configure "--disable-eccshamir" option. 2016-05-09 09:51:11 -07:00
f438e7ac65 Fix for Fedora 32/64 2016-05-09 08:13:17 +02:00
03b571cde4 fix some bugs, add Windows support 2016-05-07 21:12:08 +02:00
ecba5161ac default copyInto static instead of dynamic 2016-05-06 13:15:21 -06:00
1c664ae710 Merge pull request #412 from cconlon/netRandom
add support for Whitewood netRandom
2016-05-06 07:31:18 -07:00
3449990374 add example netRandom config file 2016-05-05 15:34:52 -06:00
8f3e1165a1 add Whitewood netRandom client library support 2016-05-05 15:31:25 -06:00
ee21d33794 Merge pull request #407 from wolfSSL/embOS-port
embOS port
2016-05-05 13:27:27 -07:00
4df12e1bd5 Add note for users about embOS directory 2016-05-05 12:29:20 -06:00
e5f1ad5702 Merge pull request #410 from kaleb-himes/master
update version to 3.9.1
2016-05-05 10:59:05 -07:00
6b8c6cebc7 Merge pull request #409 from dgarske/rowleyfixes
Rowley Crossworks updates/fixes
2016-05-05 11:49:46 -06:00
726703e903 Added details on RTC oscillator startup delay and implemented a delay_us function. Added information about NO_INLINE and USE_SLOW_SHOW to example user_settings.h. Moved the USE_SLOW_SHA2 into the SHA512 area. 2016-05-05 09:43:11 -07:00
b0c23ceafa fixes about 2016-05-05 12:48:47 -03:00
5d1de3bb33 One file for all BIO functions in wolfcrypt
move required functions from wolfssl to wolfcrypt
add client/server tests for BIO
2016-05-05 12:58:21 +02:00
5ee0659e1b Rowley Crossworks updates/fixes. Fixed issue with the RTC init for scenario where TIF is set. Added support for HW RNG only by providing reference custom_rand_generate_block. Updated kinetis_hw.c comments about serial ports on boards. Updated the stack/heap settings. Updated the user_settings.h with a well documented and configurable reference. 2016-05-04 23:11:08 -07:00
9e9fd24d68 updates metadata; drops py26 tests 2016-05-04 21:38:27 -03:00
ca2f0af2e4 Make suggested changes from first review
Add changes to the example user settings noted by david

missed .dep files, exclude these as well

.dep files are necessary

rebase
2016-05-04 17:28:19 -06:00
3e19316f8a update version to 3.9.1 2016-05-04 16:45:51 -06:00
f9f9546d0e Merge pull request #408 from cconlon/header-fix
fix aes_asm.asm header format
2016-05-04 14:38:23 -07:00
84651e97d3 Merge pull request #405 from dgarske/memtrackdebug
Memory tracking cleanup and new debug memory option
2016-05-04 14:01:37 -07:00
41d19b49ae Remove WOLFSSL_TRACK_MEMORY 2016-05-04 14:09:45 -06:00
6e26cac686 Reworking directories and simplify README 2016-05-04 13:03:05 -07:00
822d71431e Moved mem_track.h into wolfssl/wolfcrypt. Added new WOLFSSL_DEBUG_MEMORY option. Added documentation for using mem_track and new debug memory option. 2016-05-04 10:04:38 -07:00
ab53d732ce Merge pull request #398 from JacobBarthelmeh/master
update to MYSQL compatibility
2016-05-04 09:10:39 -07:00
1b5ed7fb09 Merge pull request #406 from cconlon/starttls
fix type comparison on 32bit for starttls
2016-05-04 09:06:46 -07:00
8176c74b3e Merge branch 'embOS-port' of https://github.com/wolfssl/wolfssl into embOS-port 2016-05-04 08:57:06 -07:00
197672d4fc define KEEP_OUR_CERT to set keeping ssl certificate 2016-05-04 09:05:11 -06:00
d91ec3ce77 fix aes_asm.asm header format 2016-05-04 09:02:50 -06:00
d184f8b1aa wolfSSL embOS port Initialize
self-review complete

Removed autogenerated files
2016-05-03 17:09:55 -06:00
4b16600011 fix type comparison on 32bit for starttls, zero tmp buffer 2016-05-03 13:52:04 -06:00
b2325aad6d option to keepCert for ssl lifetime, refactor of ourCert process 2016-05-03 09:22:16 -06:00
d1ab51e10f maintain lighttpd port 2016-05-03 09:22:16 -06:00
05e56b75f6 scan-build, valgrind issues and fix issue with ExtractDate, struct tm 2016-05-03 09:22:16 -06:00
38bbd41f99 add EDH-RSA-AES256-SHA, used in one mysql test 2016-05-03 09:22:16 -06:00
bd4e8ac714 cipher name string format 2016-05-03 09:22:15 -06:00
6613ebb642 persistant X509 struct with ssl session 2016-05-03 09:22:15 -06:00
f88d82375e add function wolfSSL_ASN1_TIME_to_string 2016-05-03 09:22:15 -06:00
f19541ffe5 update to MYSQL compatibility 2016-05-03 09:22:15 -06:00
3181731404 adds docs 2016-05-03 00:49:56 -03:00
f9ab61db5d Merge pull request #402 from cconlon/starttls
use send/recv instead of write/read with STARTTLS
2016-05-02 17:19:50 -07:00
ddcf47eadd when dropping a DTLS message, drop the whole datagram 2016-05-02 15:18:08 -07:00
a94383037c use send/recv instead of write/read with STARTTLS for winsock compatibility 2016-05-02 14:36:59 -06:00
52d6fb575b Merge pull request #395 from cconlon/starttls
add STARTTLS support to example client
2016-04-29 14:24:08 -07:00
69ac477976 updates docs template 2016-04-29 16:25:53 -03:00
1efd1343ee initial docs 2016-04-29 16:13:38 -03:00
89f15f9393 Merge pull request #400 from ejohnstown/dtls-sanity-check
Fixes DTLS sanity check and bug with DTLS timeout notification deleting the peer's received msg list.
2016-04-29 11:55:40 -07:00
00737d1e82 Ensure that tmpBuff gets assigned null after free. 2016-04-29 09:45:44 -06:00
1bd65cc8a9 First version for OpenSSL BIO compatibility 2016-04-29 16:34:11 +02:00
0a1212924e Merge pull request #401 from cconlon/warning-fixes
fix visual studio code analysis warnings
2016-04-28 16:45:08 -07:00
46addfb130 move example client STARTTLS into separate funcs 2016-04-28 14:21:33 -06:00
78e62eddd7 fix visual studio code analysis warnings 2016-04-28 13:08:50 -06:00
2f05c96004 added braces to else clause for compiler warning differences 2016-04-28 11:33:29 -07:00
e0c7739fd6 fix bug with non-blocking DTLS where the stored peer messages were deleted after a timeout 2016-04-28 10:50:51 -07:00
0511c8cac8 delay check of DTLS handshake message's RH version until the handshake header check 2016-04-28 10:50:51 -07:00
7123b080ed fix issue with missing client key exchange and duplicate change cipher spec messages. 2016-04-28 10:50:51 -07:00
66d41eee36 updates python README 2016-04-28 13:36:41 -03:00
d8309ab624 adds python ignored files 2016-04-28 13:26:59 -03:00
7e661ab866 importing wolfcrypt-py repo 2016-04-28 13:20:10 -03:00
a54b0f9d0c Merge pull request #397 from lchristina26/master
VxWorks updates: add pthreads define
2016-04-26 18:17:56 -07:00
b2af02a783 Merge pull request #383 from kojo1/MDK5
fixes for MDK5 compiler
2016-04-26 16:11:59 -06:00
8f8f4129fd VxWorks updates: add pthreads define 2016-04-26 09:36:01 -06:00
ccee49978b Fix scan-build warning 2016-04-25 11:00:56 -06:00
1c9bf483ec Reorder check for thread modified in addSession. Make sure tick assigned
correctly in non dynamic case
2016-04-25 11:00:56 -06:00
5f12b4c2ae Add check to see if thread modified session in AddSession 2016-04-25 11:00:56 -06:00
5f9c1ffca6 Initial support for deep copying of session 2016-04-25 11:00:42 -06:00
f27aca0956 Remove redundant dynTicket pointer. Reorder struct for packing/alignment 2016-04-25 11:00:31 -06:00
cc56e1da48 Merge pull request #393 from JacobBarthelmeh/RSA-min
use short for RSA min key size and check casts
2016-04-22 13:56:59 -07:00
5abeeff919 add STARTTLS support to example client 2016-04-22 13:46:54 -06:00
77a9343973 use short for RSA min key size and check casts 2016-04-22 12:56:51 -06:00
1e821dbd59 Merge pull request #394 from cconlon/sigalgo
Omit NULL parameter in AlgorithmIdentifier encoding for ECDSA OIDs
2016-04-22 11:37:17 -07:00
70aa4a99a0 Merge pull request #390 from JacobBarthelmeh/ECC-min
minimum ECC key size check at TLS/SSL level
2016-04-22 11:33:43 -07:00
0eb59d5c35 Fix rand num generation on MacOS, Improve organization with tic storage 2016-04-22 10:35:44 -06:00
c8b20d9090 Add support for dynamic session tickets, add openssl.test to testuiste 2016-04-22 10:35:44 -06:00
27814ca1df omit NULL AlgorithmIdentifier parameter for ECDSA algoOID types in SetAlgoID 2016-04-21 14:32:28 -06:00
1dac3841ca change type to short for comparision and up default min size 2016-04-20 15:44:45 -06:00
86cbabf035 Merge pull request #392 from wolfSSL/aesni-update
AES-NI Update
2016-04-20 14:27:52 -07:00
ee8ec1fb1d Merge pull request #391 from JacobBarthelmeh/master
update oid value for secp160r1
2016-04-20 09:02:50 -07:00
659d6c0689 update oid value for secp160r1 2016-04-19 17:01:39 -06:00
3129bb22cd minimum ECC key size check at TLS/SSL level 2016-04-19 15:50:25 -06:00
73c830a576 Merge pull request #388 from JacobBarthelmeh/master
fix NID name in openssl compatibility
2016-04-19 13:57:33 -07:00
117231c0e3 Merge pull request #387 from JacobBarthelmeh/RSA-min
add check for min RSA key size at TLS/SSL level
2016-04-19 13:57:26 -07:00
e0a9b365cc fix NID name in openssl compatibility 2016-04-19 13:17:32 -06:00
789f346c5f follow verifyNone variable when checking key size 2016-04-19 10:23:01 -06:00
0eb57ccab0 set return error before jumping to end of function 2016-04-18 14:27:34 -06:00
0dbdc8eab0 Merge pull request #372 from dgarske/mingwfixes
MinGW fixes
2016-04-18 12:50:13 -07:00
09e4e13958 update comment about MinGW 2016-04-18 12:14:47 -06:00
e15aca4189 static and shared library with MinGW 2016-04-15 16:04:15 -06:00
3ce01192ac Merge pull request #384 from tisb-vikram/master
enable aesgcm and alpn support in TI-RTOS/WolfSSL configuration
2016-04-15 14:56:56 -06:00
72bfc2aa09 Merge pull request #382 from JacobBarthelmeh/master
build with asn disabled and opensslextra enabled
2016-04-15 10:12:52 -07:00
8cf57845ff Merge pull request #386 from JacobBarthelmeh/RSA-fix
fix check on RSA key size
2016-04-14 17:53:26 -07:00
1e766b23cf check return value of ping.test 2016-04-14 14:42:01 -06:00
c9891567e8 add check for min RSA key size at TLS/SSL level 2016-04-14 13:35:49 -06:00
4506839c6d back out last commit. it was a pain to use. 2016-04-14 11:57:42 -07:00
526606e42f added conditional assembly for the intel-format AES_NI decrypt procedures 2016-04-14 11:30:10 -07:00
5340ea0d79 fixed a missing operand swap in the AES-CBC decrypt by 6 2016-04-14 10:47:14 -07:00
f998851642 fix check on RSA key size 2016-04-14 09:33:25 -06:00
cab1ebf2d6 move MDK5 current_time to test.h 2016-04-14 18:47:16 +09:00
98dffc070a current_time in test.h 2016-04-14 18:32:33 +09:00
35c5353698 fixed current_time argument 2016-04-14 16:26:51 +09:00
6f51c2a8f8 1. Fix bad opcode mnemonics in the intel-format source listing.
2. Update the aes.c file to call both format assembly routines the same
way.
2016-04-13 16:42:58 -07:00
c34944e389 added intel-format translations of new att-format AES-NI decrypt routines 2016-04-13 16:02:18 -07:00
9781fa3dc9 relabel jump points in new code with D (decrypt) mnemonics rather than E (encrypt) 2016-04-13 15:51:19 -07:00
d0717c7b76 Merge pull request #385 from cconlon/freertos-fix
Fix typo in FREERTOS_TCP settings.h
2016-04-13 13:28:04 -07:00
57fce85531 modify AES-CBC with AESNI test to check all key sizes for each message size checked 2016-04-13 12:18:59 -07:00
13f002f186 only compile in the AES-CBC decrypt-by-size variant selected by define, default by 8 blocks at a time 2016-04-13 12:00:53 -07:00
451fd878f9 touching whitespace in assembly routines being touched right now 2016-04-13 11:48:25 -07:00
d5df119c65 fix typo in FREERTOS_TCP settings.h 2016-04-12 15:03:34 -06:00
c7ad33e5d4 enable aesgcm and alpn support in TI-RTOS/WolfSSL configuration
These macros enable the AES GCM cipher suites and application layer
protocol negotiation in the TLS layer. Adding these macros would
allow connecting to websites with higher security requirements and
also support newer web technologies like HTTP/2 but the drawback is
that they add ~2K increase in memory footprint. Applications not
requiring these features can comment the macros and rebuild the
library to get smaller footprint.

Signed-off-by: Vikram Adiga <vikram.adiga@ti.com>
2016-04-12 12:25:32 -07:00
8524afc56a 1. Rename routine AES_CBC_decrypt_ex as AES_CBC_decrypt_by8
2. Added routine AES_CBC_decrypt_by6 that does six at a time.
3. Setting HAVE_AES_DECRYPT_BY6 or _BY8 (or not setting it) selects
   the 6, 8, or 4 way version of the assembly routine.
4. Modified AES-NI decrypt test to loop checking against the test
   bolus from 1 AES block to the whole 24 blocks.
2016-04-12 10:10:55 -07:00
cfd5af341b fixed test.c compile error and server.c/client.c/ssl.c warnings with MDK5 compiler. 2016-04-12 11:05:30 +09:00
4d38813b0c Merge pull request #381 from kaleb-himes/scan-build-psk
scan-build warnings related to enable-psk, disable-asn,rsa,ecc
2016-04-11 14:52:38 -06:00
1b7cd5cb06 consolidate handling of dead assignment warnings 2016-04-11 13:39:44 -06:00
23ab4247ea build with asn disabled and opensslextra enabled 2016-04-11 11:56:30 -06:00
c6e9021732 scan-build warnings related to enable-psk, disable-asn,rsa,ecc 2016-04-11 11:13:26 -06:00
85505b99b9 Merge pull request #380 from cconlon/utasker
uTasker Port
2016-04-08 15:08:39 -07:00
7a0f8672e7 Merge pull request #375 from dgarske/stm32hashfixes
Fixes when using the STM32 with STM32F2_HASH defined.
2016-04-08 15:04:46 -06:00
698b1cc7dc update benchmark to show AES-CBC decrypt speed 2016-04-08 13:33:41 -07:00
b75dc127f3 1. Attempting to perform 8 AES-CBC decrypt operations simultaneously.
2. Added code to test large AES-CBC decrypts.
2016-04-08 11:53:40 -07:00
c6e4fb8cf8 Merge pull request #378 from JacobBarthelmeh/Testing
autoconf checks on some builds that break, macro for no server, and u…
2016-04-08 11:01:46 -07:00
993972162e MinGW fixes, server port assigning cleanup and ping test cleanup. Fixes issue with visibility detection with MinGW. The visibility.m4 script was not actually trying to call the hidden function, which caused MinGW to detect improperly that visibility was supported. Fix for bogusFile on Windows build. Fixes to build warnings for unused variable 'res' and signed/unsigned comparison for sizeof min(). Cleanup of the server side port assignment to allow use with Windows/MinGW/Cygwin. If Windows uses new GetRandomPort() function in test.h to get port in in the 49152 - 65535 range. If *nix then uses the tcp_listen returned port. Otherwise uses the default wolfSSLPort. Refactor of the ping test code to use common file and properly handle ping count differences (Windows "-c" vs. *Nix style "-n"). Workaround for MinGW and cyassl/options.h getting file permissions error. Added non-fatal compile warning if using MinGW that "strtok_s" might be missing along with a link to public domain source that can be used. 2016-04-08 11:48:14 -06:00
2aab090c8b Fixes when using the STM32 with STM32F2_HASH defined. 2016-04-08 11:39:15 -06:00
46f4be357b uTasker: add note about XTIME to settings.h 2016-04-08 11:20:58 -06:00
8d040ad41f uTasker: add initial port, WOLFSSL_UTASKER 2016-04-08 11:12:17 -06:00
255d9ecfb3 Merge pull request #377 from JacobBarthelmeh/master
add wc_EccPublicKeyToDer function
2016-04-07 12:20:05 -07:00
5b4f17545b autoconf checks on some builds that break, macro for no server, and user rsa 2016-04-06 15:36:50 -06:00
665fb3076c add trailing zero enum and correct call for export key size 2016-04-06 15:15:56 -06:00
4f8fffbc37 add wc_EccPublicKeyToDer function 2016-04-06 15:15:56 -06:00
a0cd888fbf Merge pull request #379 from JacobBarthelmeh/PSK
fix c89 build on windows
2016-04-06 14:02:55 -07:00
85a9c55048 fix c89 build on windows 2016-04-06 11:16:40 -06:00
9f86a91dbd Merge pull request #374 from dgarske/asyncfixes
Fix build issues with new async changes
2016-04-01 16:04:08 -07:00
29194bd977 Merge pull request #371 from cconlon/sniffer-fix
Extra cleanup in sniffer.c with ForceZero
2016-04-01 13:39:29 -07:00
2d4aa1bbb5 Better fix for scan-build warning regarding possible use of NULL in AddRecordHeader. Scan-build considers paths where output is set to NULL, but ssl->spec.kea is corrupted/changed, which could result in output == NULL (even though it should never happen). So added proper NULL check in SendServerKeyExchange on AddHeader to make sure output isn't NULL. 2016-04-01 12:57:33 -07:00
19f0769ec4 Fix for scan-build warning where async changes make it appear like the output buffer could be NULL (even though its not). Added NULL check on the AddRecordHeader function. 2016-04-01 10:55:01 -07:00
dd28d53cfb Fix build issues with new async changes. Fixed issue with unused args preSigSz and preSigIdx with PSK enabled and ECC + RSA disabled. Fixed issue with missing qsSz variable in DoClientKeyExchange. Fixed missing DhAgree and DhKeyGen with NO_CERTS and PSK enabled. Fixed a couple scan-build warnings with "Value stored to '' is never read". 2016-04-01 09:23:46 -07:00
2939c3ace1 add ssl_FreeZeroDecode() to sniffer.c 2016-03-31 13:25:39 -06:00
63b1282e67 Merge pull request #335 from dgarske/asynccrypt
Asynchronous crypto and wolf event support
2016-03-30 20:12:41 -07:00
4472152b18 Added new "wolfSSL_poll" which filters event queue by ssl object pointer. Changed wolfSSL_CTX_poll to support using WOLF_POLL_FLAG_PEEK flag to peek at events and return count. Removed "wolfssl_CTX_poll_peek". Switched the examples (test.h AsyncCryptPoll) to use just the WOLFSSL object and call new wolfSSL_poll. Added warning when using the "--enable-asynccrypt" option to make sure users know they need real async.c/.h files. 2016-03-30 15:15:38 -07:00
6e5b23e102 Merge pull request #370 from dgarske/stm_aes_gcm_ccm
Enhancement to the STM32F2_CRYPTO port to support AES GCM, AES CCM an…
2016-03-30 13:39:35 -07:00
ec9f10d74f extra cleanup in sniffer.c with ForceZero 2016-03-30 10:52:27 -06:00
d30f410768 Merge pull request #368 from JacobBarthelmeh/master
Check for compile of misc.c and fix disable inline
2016-03-29 17:26:55 -07:00
49e117ebb5 Merge pull request #369 from JacobBarthelmeh/Testing
if using inline do not compile misc.c in iOS XCode builds
2016-03-29 14:41:20 -07:00
e60adfc9da better naming of macro and alter misc.c check 2016-03-29 13:42:40 -06:00
2437e97d70 if using inline do not compile misc.c in iOS XCode builds 2016-03-28 17:33:38 -06:00
2733f0a7ca Merge pull request #309 from coletiv/add-tvos-target
Add tvos target to the xcode project
2016-03-28 17:29:32 -06:00
7e90e2e540 misc.c compile warning accounts for FIPS 2016-03-28 17:22:39 -06:00
2665db73a4 check for compiling misc.c when not needed 2016-03-28 16:03:15 -06:00
79a212da8d fix disable inline build 2016-03-28 14:24:12 -06:00
59a84b40c7 Merge pull request #364 from toddouska/ecc-test-free
Fixes to cleanup unnecessary ECC make key, check key and free in ECC vector item test.
2016-03-28 13:15:20 -07:00
137f477277 Merge pull request #363 from JacobBarthelmeh/master
sanity check on ssl pased to wolfSSL_set_fd
2016-03-28 11:47:22 -07:00
03765ecca7 Fixes to cleanup unnecessary ECC make key, check key and free in ECC vector item test. 2016-03-25 13:22:31 -07:00
67b4d2e2f4 case where memory is exhausted before ctx copied to ssl 2016-03-25 14:19:51 -06:00
696169634e check return value of wolfSSL_set_fd 2016-03-25 13:59:04 -06:00
190d30f336 Merge pull request #362 from dgarske/bench_rng
Added benchmark for the RNG.
2016-03-25 12:12:20 -07:00
1649af37be fix ecc curve test in normal math mode, free is needed 2016-03-25 11:33:35 -07:00
57ea1cdcd7 sanity check on ssl pased to wolfSSL_set_fd 2016-03-25 11:32:53 -06:00
5569dfe838 Fix with FIPS build and RNG_MAX_BLOCK_LEN define location. 2016-03-25 08:56:11 -07:00
f539a60a40 Adjusted the RNG benchmark to split into smaller requests of max allowed RNG size. 2016-03-25 06:59:35 -07:00
27e041246f Added benchmark for the RNG. 2016-03-24 08:42:19 -07:00
855e42b66a Merge pull request #359 from cconlon/ecc-comment
Fix wc_ecc_import_raw() comment
2016-03-24 08:21:42 -07:00
3796fc1322 Enhancement to the STM32F2_CRYPTO port to support AES GCM, AES CCM and AES-Direct (for encrypt only) using combination of software and AES HW acceleration. 2016-03-24 07:08:42 -07:00
3509ff0c73 Merge pull request #358 from JacobBarthelmeh/master
fix free of WOLFSSL_METHOD pointer on create ctx fail
2016-03-23 15:35:16 -07:00
20285bec01 fix wc_ecc_import_raw comment, public key instead of base point 2016-03-23 15:33:53 -06:00
8f8f7ac152 remove unecessary XFREE 2016-03-23 13:40:45 -06:00
2dfc7faa73 Merge pull request #355 from dgarske/EccTestCleanup
wolfCrypt ECC test improvements and code cleanup
2016-03-23 12:18:42 -07:00
18961e5620 Merge pull request #351 from dgarske/ChaChaRefactor
Refactor of the ChaCha hard coded variables
2016-03-23 12:17:23 -07:00
620e4fa5ca fix free of WOLFSSL_METHOD pointer on create ctx fail 2016-03-23 09:27:27 -06:00
d8fb4b6ee7 Merge pull request #352 from dgarske/DRBGSmallStack
Fix to reduce stack usage in the hash-based random number generator h…
2016-03-21 12:20:48 -07:00
0fc5575b8b Fixed typo with WOLFSSL_VALIDATE_ECC_IMPORT defined. Disable ECC-224 bit compressed key test since it isn't working. Cleanup in accel_fp_mul for KB_SIZE. 2016-03-18 15:41:03 -07:00
71683e23e9 Resolve 2nd unused "typeH" warning. 2016-03-18 06:27:42 -07:00
51a911c727 Merge pull request #354 from JacobBarthelmeh/master
prepare for release v3.9.0
2016-03-17 16:10:18 -07:00
0e43fca1f3 Resolve unused "typeH" warning. 2016-03-17 15:56:51 -07:00
369930238a Cleanup of the ecc_test functions to break areas into separate functions providing WC_RNG and key size. Added ECC tests by key size for all enabled curves. Added actual key size on wc_ecc_make_key for the NIST test vectors. Added ECC testing of wc_ecc_verify_hash with digests having 0's and sequence (1,2,3,...) and made sure it runs verify twice. 2016-03-17 15:31:45 -07:00
e99a5b0483 prepare for release v3.9.0 2016-03-17 16:02:13 -06:00
e1787fe160 Added "--enable-asynccrypt" option for enabling asynchronous crypto. This includes a refactor of SendServerKeyExchange and DoClientKeyExchange to support WC_PENDING_E on key generation, signing and verification. Currently uses async simulator (WOLFSSL_ASYNC_CRYPT_TEST) if cavium not enabled. All of the examples have been updated to support WC_PENDING_E on accept and connect. A generic WOLF_EVENT infrastructure has been added to support other types of future events and is enabled using "HAVE_WOLF_EVENT". Refactor the ASN OID type (ex: hashType/sigType) to use a more unique name. The real "async.c" and "async.h" files are in a private repo. 2016-03-17 13:31:03 -07:00
10e74f7200 Merge pull request #353 from dgarske/EccUnsignedSizeCheckFix
Fixed bug where mp_unsigned_bin_size returning 0 could produce a UINT…
2016-03-17 10:50:01 -07:00
19967dd264 Fixed bug where mp_unsigned_bin_size returning 0 could produce a UINT_MAX (based on -1) resulting in invalid index to an array. Added test case for this if FP_ECC is defined. 2016-03-17 09:39:10 -07:00
bda69decc1 Fix to reduce stack usage in the hash-based random number generator health tests when WOLFSSL_SMALL_STACK is defined. 2016-03-16 17:04:07 -07:00
46a01c29d8 Merge pull request #350 from JacobBarthelmeh/master
check for invalid RSA OAEP with SHA512 test case
2016-03-16 16:25:13 -07:00
2dd5efd969 sanity check for RSA key size and hash digest size 2016-03-16 15:25:52 -06:00
4c3ddac23c catch invalid test case of RSA-OAEP and fix cast 2016-03-16 14:51:25 -06:00
473ea567bd Refactor of the ChaCha hard coded variables. 2016-03-16 13:36:44 -07:00
7722c4484a Merge pull request #349 from dgarske/CobiPort
Port for Nordic nRF51 RNG, RTC and AES. Added RNG test for wc_RNG_Gen…
2016-03-16 13:36:27 -07:00
0683ecb727 Fixed FreeCRL issue with strdup memory. Added additional checks for WOLF_AES_CBC and WOLF_AES_COUNTER. Disabled memory tracker by default for wolfCrypt test and benchmark. Updated README to better document Linux Binutils LD bug workaround. 2016-03-16 09:41:19 -07:00
f0ea9d747f Fix possible positive return value for random_rng_test. Removed reference to nrf51_aes_decrypt, which is not supported, and added compile error for it. Corrected ecc_test_raw_vector return code checking. Cleanup in InitMemoryTracker. 2016-03-15 18:33:24 -07:00
bf058ef1b9 Fixed Jenkins error reports for mem_track msg, incorrect #ifdef in aes_test and ecc_test_raw_vector response code checking. Fixed C89 compliance with wc_AesSetKey. Fixed nrf_drv_rng_init response checks in RNG code. Reverted comment change in AES. Fixed nRF51 AES CBC Encrypt support. Added response code checking for nrf51_aes_set_key. 2016-03-15 17:18:03 -07:00
a38183b816 Port for Nordic nRF51 RNG, RTC and AES. Added RNG test for wc_RNG_GenerateBlock 0's check even if HAVE_HASHDRBG is enabled. Added NIST test vectors for ECC P-256, P-384 and P-521. Added helpful debug message in ECC import if issue finding ecc_sets[] for curve. Moved memory tracker into separate file and added support for it to wolfcrypt test and benchmark. Added Ed255519/Curve25519 options for granular control of sign, verify, shared secret, import and export. Added AES options for max key size (AES_MAX_KEY_SIZE), no decrypt (NO_AES_DECRYPT) and no CBC (NO_AES_CBC). 2016-03-15 13:58:51 -07:00
47491e6c22 Merge pull request #332 from JacobBarthelmeh/Certs
Certs
2016-03-14 13:24:03 -07:00
db758dc98b update test script, fall back to cert name search, fix der free 2016-03-12 09:37:32 -07:00
060e278559 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into Certs 2016-03-11 23:48:39 -07:00
154f027c54 Merge pull request #347 from dgarske/ScanBuildFix214
Address scan-build issue on build #214 after DerBuffer refactor part 2
2016-03-11 16:53:41 -07:00
81b0ccdb1a Address scan-build issue on build #214 after DerBuffer refactor part 2 (ceafb25). 2016-03-11 09:39:13 -08:00
98f40fa132 Merge pull request #345 from moisesguimaraes/remove_unnecessary_condition
remove unnecessary condition
2016-03-11 09:27:22 -08:00
2e1c1ca7f8 remove unnecessary condition 2016-03-10 23:07:36 -03:00
0171aefc65 Merge pull request #344 from JacobBarthelmeh/master
K64F RNGA register
2016-03-10 16:05:19 -08:00
1bd7de46bb Merge pull request #342 from dgarske/JenkinsFixes20160310
Fixes multiple Jenkins warnings/failures
2016-03-10 14:19:47 -08:00
3976a3e2f2 K64F RNGA register 2016-03-10 14:35:55 -07:00
80aa431689 Fixes multiple Jenkins warnings/failures. First is PickHashSigAlgo is required for client builds or if certs are enabled. Fixed scan-build warning with OCSP not recognized ForceZero as cleaning memory and using possible garbage value. Also cleaned up the OCSP functions to use struct buffer* instead of void* for clarity with a little forward declaration. 2016-03-10 09:38:11 -08:00
1435a6ce92 Merge pull request #341 from JacobBarthelmeh/master
SEP and CERTEXT, QSH debug
2016-03-10 09:36:25 -08:00
0a1871e77c Merge pull request #337 from dgarske/WarnDoubleFree
Fixes scan-build warning with "--enable-opensslextra --disable-memory"
2016-03-09 16:28:18 -08:00
6e1c5b3801 disable CERT_EXT policies check when SEP is used instead 2016-03-09 17:22:38 -07:00
49b547db08 make QSH debug compile for C89 2016-03-09 17:15:28 -07:00
ceafb25f49 Merge pull request #338 from dgarske/DerBufferRefactor2
Refactor of DerBuffer, so WOLFSSL object doesn't have to grow as a re…
2016-03-09 12:36:22 -08:00
2f060dd860 Merge pull request #312 from dgarske/LeanTls
New LeanTLS configure option
2016-03-09 10:13:00 -08:00
f17dfa5b03 Moved the x509 XFREE to outside the FreeX509 function. Internally FreeX509 is only used in two places. One is for the ssl->peerCert, which is not dynamic anyways. The second is in the ExternalFreeX509 where it calls FreeX509 if its dynamic and will XFREE there. 2016-03-09 09:15:00 -08:00
c863300805 Fixed scan-build error with possibly using a NULL pointer. 2016-03-08 09:34:56 -08:00
0f93b86b61 Fixes for PK_CALLBACKS and sniffer after DerBuffer refactor #2. 2016-03-08 08:56:14 -08:00
ce9f14f713 Refactor of DerBuffer, so WOLFSSL object doesn't have to grow as a result of additional functionality. Removed InitDer. Changed all DerBuffers to use pointer and pass pointer to DerBuffer* to AllocDer and FreeDer. Result is more efficient code and reduced WOLFSSL object size. AllocDer uses first part of the allocated buffer for the actual DerBuffer. 2016-03-08 08:56:14 -08:00
daa1cd634e Fixes scan-build warning with "--enable-opensslextra --disable-memory". Problem was different #if defines on the InitX509 and FreeX509, which caused the static analyzer to think the "x509->dynamicMemory" was always true. 2016-03-08 08:38:02 -08:00
0ed26ad262 Updated build for "leantls" to support building only the client, by splitting BUILD_EXAMPLES into 3 parts (BUILD_EXAPLE_SERVERS, BUILD_EXAMPLE_CLIENTS and BUILD_TESTS). This allows the make check to perform the external tests to validate the client only "leantls" configuration option. 2016-03-08 08:35:28 -08:00
2891939098 Remove NO_CERT and NO_CODING. Enable building of the client with leantls. 2016-03-08 08:35:28 -08:00
8e8ee45828 LeanTLS: Fixed issue with GetCA, GetCAByName and PickHashSigAlgo with HAVE_ECC, NO_RSA and NO_CERTS defined. Added new "--enable-leantls" option, which enables TLS 1.2 client only with ECC256, AES128 and SHA256 (no RSA, DH, DSA, MD4, MD5, SHA, PSK, PWD, CERTS, DES3, Error Strings, ARC4, Coding, Memory or File System). 2016-03-08 08:35:28 -08:00
375d85fe9a Merge pull request #336 from dgarske/ASNCertPolicyExtFix
Fixed bug with ASN.1 X509V3 Certificate Policy extension parsing
2016-03-08 08:59:24 -07:00
b549c81337 Fix the WOLFSSL_SEP (--enable-sep) build scenario where extCertPoliciesNb is not available. 2016-03-07 14:49:24 -08:00
05fb648747 Remove white-space. 2016-03-07 14:33:22 -08:00
9b79d8643e Added checks for total length and the cert policy OID len to make sure they don't exceed buffer. 2016-03-07 14:20:37 -08:00
dee3645c4e Fixed bug with ASN.1 X509V3 Certificate Policy extension parsing. Bug had to do with parsing when OID contains multiple items such as example 2 below. The wolfssl.com server key now contains a URL in the certificate policy "https://secure.comodo.com/CPS0", which wasn't being parsed over correctly. Also cleanup to use loop instead of duplicate code.
Example 1:
30 12
30 06 06 04 55 1D 20 00
30 08 06 06 67 81 0C 01 02 01

Result:
2.5.29.32.0
2.23.140.1.2.1

Example 2:
30 46
30 3A 06 0B 2B 06 01 04 01 B2 31 01 02 02 07
   30 2B 30 29 06 08 2B 06 01 05 05 07 02 01 16 1D 68 74 74 70 73 3A 2F 2F 73 65 63 75 72 65 2E 63 6F 6D 6F 64 6F 2E 63 6F 6D 2F 43 50 53
30 08 06 06 67 81 0C 01 02 01

Result:
1.3.6.1.4.1.6449.1.2.2.7
2.23.140.1.2.1
2016-03-07 13:40:25 -08:00
98a72a3f9d Merge pull request #334 from JacobBarthelmeh/master
update wolfssl-ntru vs project and fix warnings
2016-03-03 15:53:52 -08:00
8ca1c3935d Merge pull request #322 from ejohnstown/dtls-handshake
DTLS Handshake Update
2016-03-03 14:33:31 -08:00
c98c457b9b update wolfssl-ntru vs project and fix warnings 2016-03-03 14:35:39 -07:00
b9ecd9474c Merge pull request #330 from kaleb-himes/CID-66007-coverity
avoid dereference of null pointer if args is null
2016-03-02 18:22:07 -08:00
112cf1f0c9 fix example client help print out 2016-03-02 16:51:57 -07:00
7a599c1309 Account for not used case 2016-03-02 16:31:58 -07:00
a0f1e1e3ea Merge pull request #331 from kaleb-himes/CID-66006-coverity
Move assignment to after the null check
2016-03-02 15:23:58 -08:00
aab44eb26b adjest example server PSK plus flag 2016-03-02 15:43:17 -07:00
267dc48d95 fixs after testing : hash table, using NO_SKID, sanity check, and freeing dCert 2016-03-02 15:23:50 -07:00
d969e2ba11 automated test for trusted peer certs 2016-03-02 11:42:00 -07:00
85215cc174 clean up braces left over from local declaration of ready 2016-03-02 11:39:34 -07:00
05d2cec7c1 addition to api tests and refactor location of trusted peer cert check 2016-03-02 11:35:03 -07:00
01cd43c319 Seperate declaration and assignment per c99 standards 2016-03-02 11:31:08 -07:00
7df22ee210 Trusted peer certificate use 2016-03-02 11:22:34 -07:00
1f4ddb20df Move assignment to after the null check 2016-03-01 17:00:27 -07:00
d15dac04b8 remove unnecessary NULL assignment 2016-03-01 16:33:47 -07:00
d473452769 avoid dereference of null pointer if args is null 2016-03-01 16:21:03 -07:00
7c63ac4f6a Merge pull request #329 from dgarske/BuildErrDerBuf
Fixes build error with new DerBuffer with ASN, ECC and RSA disabled.
2016-02-26 08:44:30 -08:00
79ef8e232b Fixes build error with new DerBuffer with ASN, ECC and RSA disabled. 2016-02-26 15:39:30 +01:00
0c45a7a028 Merge pull request #317 from dgarske/DerBufferRefactor
Refactor of the DER buffer handling
2016-02-25 09:35:50 -08:00
a46fd6612b Changed CopyDecodedToX509 AllocDer error code handing to return MEMORY_E, since that is an explicitly handled case. Also resolves the issue with "warning: Value stored to 'ret' is never read". 2016-02-25 14:35:54 +01:00
f549f71912 Merge pull request #325 from kaleb-himes/CID-66016-coverity
Always execute wc_InitRsaKey if we are always going to execute wc_Fre…
2016-02-25 08:45:06 +01:00
f0b1d2fd9d Merge pull request #324 from JacobBarthelmeh/master
argument peer can be NULL when macro INADDR_ANY is NULL
2016-02-25 08:40:37 +01:00
aa7eae3294 Merge pull request #320 from moisesguimaraes/fix-ocsp-dependency-check
fixes ocsp dependency check on asn during configure.
2016-02-24 16:21:51 -08:00
16dac5597f prevent buffer overflows if sigSz > MAX_ENCODED_SIG_SZ 2016-02-24 16:08:54 -07:00
fb9697bda6 adds check for missing rsa and ecc at the same time 2016-02-24 18:57:16 -03:00
4858a65984 Always execute wc_InitRsaKey if we are always going to execute wc_FreeRsaKey 2016-02-24 14:42:07 -07:00
6ee3c0ae59 argument peer can be NULL when macro INADDR_ANY is NULL 2016-02-24 13:55:44 -07:00
1824a494d1 adds missing ENABLED_OCSP test 2016-02-24 16:45:07 -03:00
35b48250ad Merge pull request #321 from dgarske/FixCryptBenchEdCurve25519
Fixes issue with building crypt benchmark with only ED/Curve25519 ena…
2016-02-24 11:19:30 -08:00
12bb050ec9 Merge pull request #323 from JacobBarthelmeh/master
check for RSA and ECC before testing RSA signed ECC cert
2016-02-24 09:34:37 -08:00
1227db4e44 Fixed issue with not properly returning memory error in CopyDecodedToX509 after DER refactor. 2016-02-24 07:04:03 +01:00
dcfec3d2fa check for RSA and ECC before testing RSA signed ECC cert 2016-02-23 17:03:52 -07:00
143b9fda1b adds build dependency check for OCSP 2016-02-23 15:19:04 -03:00
a92d2d582f Revert "fixes ocsp dependency check on asn during configure."
This reverts commit 46ade8f03f.
2016-02-23 14:13:52 -03:00
69e00a3f97 allow dtls timeout to be 0 in the recvfrom callback, set to 0 if the handshake is done 2016-02-22 21:13:05 -08:00
f621f81fa2 1. Some DTLS code was missing an ifdef.
2. If receiving a handshake message that's already been processed,
    retransmit the previous message flight.
2016-02-22 14:08:35 -08:00
8dbef9b14b Merge pull request #318 from dgarske/BuildErrorNoFileSysWCerts
Fixes build error with NO_FILESYSTEM and !NO_CERTS
2016-02-22 12:12:24 -08:00
731e13ecf2 Fixes issue with building crypt benchmark with only ED/Curve25519 enabled with static rng missing. 2016-02-22 16:46:13 +01:00
f6fafe6738 for DTLS, retain the handshake resources until peer sends application data record 2016-02-21 21:52:38 -08:00
46ade8f03f fixes ocsp dependency check on asn during configure. 2016-02-21 20:54:45 -03:00
953a3bd01d Fixes build error with NO_FILESYSTEM and !NO_CERTS where the wolfssl/test.h load_buffer() function is passing non-existent enum value. Was renamed from CYASSL_ to WOLFSSL_. 2016-02-19 13:52:06 -08:00
3fe5ee1a7c Refactor of the DER buffer handling. Added new DerBuffer struct that includes the type and heap ptr. Added new InitDer, AllocDer and FreeDer functions. Cleanup of some missing "heap" args on XMALLOC/XFREE. In FreeDer uses ForceZero if type is private key. 2016-02-18 22:42:15 -08:00
b72c83e191 Merge pull request #315 from kaleb-himes/fix-no-sha
update for configure option --disable-sha
2016-02-16 13:08:59 -08:00
c1ef4d4521 Merge pull request #313 from kaleb-himes/master
wolfssl.com and google.com now differ in pre-reqs for external test
2016-02-16 11:05:55 -08:00
24d93c90cd update for configure option --disable-sha 2016-02-16 12:03:37 -07:00
46b34c19d0 wolfssl.com and google.com now differ in pre-reqs for external test 2016-02-15 13:30:11 -07:00
3d8f91d418 Merge pull request #302 from dgarske/EccOnlyNoSignVerify
New ECC and ASN build options for reduce build size options
2016-02-15 12:13:43 -08:00
d7d2a6f565 Merge pull request #307 from JacobBarthelmeh/PSK
New fail with no peer cert behavior and allow RSA signed ECC key certs
2016-02-12 15:27:18 -08:00
7de352a0e9 Merge pull request #311 from dgarske/FixSkipObjectIdWarn
Fixes warning with SkipObjectId defined but not used.
2016-02-12 15:04:04 -07:00
951fe0a927 Merge pull request #310 from dgarske/CustRngGenBlock
Added new CUSTOM_RAND_GENERATE_BLOCK option that allows override and …
2016-02-12 13:51:06 -08:00
a969dd8efd Fixed "error: unused function 'StoreRsaKey'" with NO_ASN_TIME and RSA enabled. 2016-02-12 13:19:58 -08:00
aeaac15682 Fixed compile errors in signature.c if ECC on but ECC sign/verify disabled. Added new NO_ASN_TIME option to reduce ASN size for space constrained or missing RTC. Added check to make sure ASN is enabled if ECC sign/verify is enabled. 2016-02-12 13:16:39 -08:00
8073024ee7 fix formatting of .conf file so ephemeral port is used 2016-02-12 13:41:30 -07:00
f328c6bdf7 Fixes warning with SkipObjectId defined but not used. 2016-02-12 12:34:22 -08:00
08c663a4ac Added new CUSTOM_RAND_GENERATE_BLOCK option that allows override and disabling of the HASHDRBG for customers who have a HW RNG they would like to use instead.
Examples:
"./configure --disable-hashdrbg CFLAGS="-DCUSTOM_RAND_GENERATE_BLOCK= custom_rand_generate_block".
OR
/* RNG */
//#define HAVE_HASHDRBG
extern int custom_rand_generate_block(unsigned char* output, unsigned int sz);
2016-02-12 11:59:51 -08:00
4872f2bc33 Added the following ECC optional config defines: HAVE_ECC_SIGN, HAVE_ECC_VERIFY, HAVE_ECC_DHE, HAVE_ECC_KEY_IMPORT and HAVE_ECC_KEY_EXPORT. Still working through issues with using ECC sign/verify with ASN disabled. Added documentation to top of ecc.c for all the ECC define options. 2016-02-12 11:07:50 -08:00
8f5cd98857 Added tvos target to the xcode project 2016-02-12 10:23:23 +01:00
3e860107f3 remove extra cert and key, plus add new test 2016-02-11 13:49:07 -07:00
1197f88c4f add psk.test script for testing 2016-02-11 09:15:04 -07:00
09f631238e Merge pull request #306 from kaleb-himes/master
correct logic to allow for static RSA if ECC and no Curves
2016-02-10 16:47:17 -08:00
49a5ea18e8 Merge pull request #303 from ejohnstown/sniffer-check
When loading a named key, check that the save buffer mallocs.
2016-02-10 13:19:59 -08:00
b0a51a22a1 Merge pull request #304 from cconlon/testh-fix
Check build_addr() arguments for NULL
2016-02-10 13:19:28 -08:00
a83ff6aada Updated the configure.ac comments about big int being used for ECC and DH. Moved the checks for ecc/asn and psk/asn until after cryptonly value is set and fixed so those checks work for normal build and are excluded for crypt only builds. 2016-02-10 13:03:53 -08:00
9defe9b42b fix warning of unused variable and adjust debug statements 2016-02-10 13:57:10 -07:00
ffe7b38409 correct logic to allow for static RSA if ECC and no Curves
use same coding standards as the rest of the libraries
2016-02-10 13:39:59 -07:00
69fc400d28 add new certs to EXTRA_DIST 2016-02-10 13:26:03 -07:00
2f74706367 allow use of RSA signed ECC key certs 2016-02-10 13:26:03 -07:00
ff7a9d9f78 option for fail on no peer cert except PSK suites 2016-02-10 13:26:03 -07:00
3293857834 check build_addr() arguments for NULL before memset 2016-02-10 10:35:48 -07:00
8d0d5a3f90 Fixes so ECC only build works. Fixes so ECC enabled with ASN disabled works and will prevent ECC sign/verify. 2016-02-10 08:53:09 -08:00
9a5938432b Merge pull request #301 from kaleb-himes/master
if connecting to google.com and using ECC need supported curves
2016-02-10 08:42:28 -08:00
bf4d6454b1 if connection to google.com and using ECC need supported curves 2016-02-09 17:06:06 -07:00
ccffee1617 When loading a named key, check that the save buffer mallocs. It calls a library function that checks the pointer, but an application of the library shouldn't depend on side effects. This fixes #300. 2016-02-09 15:17:05 -08:00
62a2efdacc Merge pull request #298 from kaleb-himes/master
Avoid unnecessary assignments in client example
2016-02-09 09:54:55 -08:00
f30ef33d8b Merge pull request #295 from JacobBarthelmeh/master
ECDHE-PSK and added cipher suites
2016-02-09 09:40:13 -08:00
66aa1da829 Merge pull request #299 from dgarske/MinGWFixes
Fixes for warnings found using MinGW
2016-02-09 09:32:18 -08:00
2e88785358 Merge pull request #282 from dgarske/WinUserSettings
Refactor of Visual Studio projects to centralize preprocessors into IDE/WIN/user_settings.h
2016-02-09 09:27:32 -08:00
014740eda0 Merge pull request #289 from dgarske/SigHashFixes
Fixes/improvements to the signature and hash wrappers:
2016-02-09 09:23:18 -08:00
2af9fb91b3 Use += approach to detect "done" in example client for external tests. Cleaner and code is smaller to accomplish same thing. 2016-02-08 19:54:22 -08:00
4ea76b8ac8 Fixes for warnings found using MinGW. Fixes for WOLFSSL_SOCKET_IS_INVALID and WOLFSSL_SOCKET_INVALID to use the SOCKET_T. 2016-02-08 15:44:22 -08:00
53162d5fc4 addjust size according to offset length and add PMS size comment 2016-02-08 15:22:49 -07:00
f6bebc1cf4 Merge pull request #297 from dgarske/RemoveExeBitOnCFiles
Removed the execute bit on all .c files
2016-02-08 14:22:05 -07:00
2e0d05f727 Fixes issues with new IDE/WIN/user_settings.h and FIPS. Fixed issue with using CYASSL_USER_SETTINGS in ctaocrypt/settings.h with FIPS by moving settings_comp.h to after user_settings.h. Fixed issue with non-existent ctaocrypt/signature.c file being included. Added the user_settings.h file to the FIPS project. 2016-02-08 12:22:20 -08:00
09615c01cc Updated the naming for the new encoding DER signature enum and function. 2016-02-08 12:04:38 -08:00
97edaf88d4 Added the new IDE/WIN/user_settings.h to the include.am file. Changed the WOLFSSL library to use macro WOLFSSL_LIB for clarity. 2016-02-08 11:28:46 -08:00
cb3a9cc348 Removed the execute bit on all .c, .h, and .cs files. 2016-02-08 09:45:31 -08:00
a607c5dcc4 Merge pull request #296 from cconlon/freescale-fix
Freescale: USER_TIME fixes, enable ECC and AES-GCM by default
2016-02-08 09:36:53 -08:00
c920e6dd30 Avoid unnecessary assignments in client example 2016-02-07 08:27:01 -07:00
d5f410523a Fixed possible memory leak on signature wrapper ASN encode and corrected the maximum header size. Added new MAX_ENCODED_HEADER_SZ which is the maximum encoded ASN header size and update asn.c to use it. Added comment about key size sanity check. Renamed wc_SignatureRsaEncode to wc_SignatureAsnEncode. 2016-02-05 16:01:42 -08:00
e031d2fa06 Removed the execute bit on all .c files. These were inadvertently set in PR #293 due to editing files through Windows VMWare shared folder. 2016-02-05 14:25:43 -08:00
fa4da43655 Freescale: remove USER_TIME after recent time fixes, enable ECC and AES-GCM by default 2016-02-05 14:09:43 -07:00
a4f1138e5b Merge pull request #293 from dgarske/WinWarnFixes
Fixes several warnings that were seeing building with Visual Studio 2…
2016-02-05 13:20:22 -07:00
244bea18b9 Merge pull request #292 from dgarske/WolfRootFindFix
Fixed bug with "ChangeToWolfRoot" that was incorrectly seeking previo…
2016-02-05 11:28:39 -08:00
25959bfb62 Merge pull request #279 from dgarske/CustRandGenSeed_OSArg
Added new CUSTOM_RAND_GENERATE_SEED_OS macro
2016-02-05 11:18:18 -07:00
3dc2e01180 warning from windows build with ECDHE-PSK and fix potential memory leak 2016-02-05 09:54:39 -07:00
be99fcff43 Fixed typo in wc_SignatureGetSize causing error. 2016-02-05 07:32:47 -08:00
ee4b8b2f10 Merge pull request #291 from kaleb-himes/master
Fixes for disabling the crypt test and benchmark. Added new "./configure --disable-crypttests" option. Added new NO_CRYPT_BENCHMARK define.
2016-02-04 17:06:59 -08:00
ae19b7a272 Merge pull request #290 from dgarske/PemPubKey_CertExt_Fixes
Public key PEM to DER fixes
2016-02-04 15:19:15 -08:00
60668be1c0 Merge pull request #285 from ejohnstown/dtls-hello
DTLS server should be able to receive multiple client hellos without …
2016-02-04 14:27:03 -07:00
faf590eb22 Fix for "warning: Value stored to 'ret' is never read". Now explicitly set SIG_TYPE_E in each case. Fixed wc_SignatureGetSize so it will return SIG_TYPE_E for unsupported type scenario. 2016-02-04 12:49:39 -08:00
bc059e12c2 Cleanup to remove trailing whitespace and convert tabs to spaces. 2016-02-04 12:31:08 -08:00
be4c400d16 Fixes for disabling the crypt test and benchmark. Added new "./configure --disable-crypttests" option. Also made sure use of both NO_CRYPT_BENCHMARK and NO_CRYPT_TEST in "./configure CFLAGS=-D" scenario work correctly. 2016-02-04 12:06:24 -08:00
2257c1dcef Fixes several warnings that were seeing building with Visual Studio 2015. Also noticed issue with "struct Options" in internal.h for the bit flags that was causing split due to type difference (byte vs. word16). 2016-02-04 11:30:48 -08:00
e63989dcfd Fixed bug with "ChangeToWolfRoot" that was incorrectly seeking previous directories where depth 2 was using ..\..\ and skipping one. This bug applied to both Win and Lin*. For example running ./server from inside examples/server would not find the wolf root. 2016-02-04 11:26:33 -08:00
2db6246abc Fixed typo with testsuite preprocessor. Added missing chacha.c, chacha20_poly1305.c, pkcs7.c and poly1305.c. Also added the IDE/WIN/user_settings.h to the project so its easy to find. 2016-02-04 11:19:51 -08:00
bf1af39027 benchmark needs a main if NO_CRYPT_BENCHMARK defined 2016-02-04 12:07:39 -07:00
7936c7a72e Merge pull request #286 from dgarske/DisableBench
Added optional define "NO_CRYPT_BENCHMARK" to allow disabling benchmark
2016-02-04 10:59:55 -08:00
d39c6a6e13 Merge pull request #287 from JacobBarthelmeh/fast-rsa
Force Zero of data when done
2016-02-04 10:59:21 -08:00
42219a327a refactor ForceZero of memory to gain performance 2016-02-04 10:31:05 -07:00
3ce64da44c ChaCha20-Poly1305 PSK cipher suites 2016-02-04 09:50:29 -07:00
5a9175a758 add cipher suite ECDHE-PSK-AES128-SHA256 and adjustments to ECDHE-PSK 2016-02-04 09:39:34 -07:00
f3399b6578 Fixes/improvements to the signature and hash wrappers:
Fixed output buffer to wc_RsaSSL_Verify so its min size is the key size (needed for inline operations).
Fixed the signature wrapper return codes when using RSA so 0 indicates success.
Fixed signature wrappers use of wc_HashGetDigestSize to return the error code result.
Changed enum wc_HashType and enum wc_SignatureType so all values always exist.
Added new "wc_HashGetOID" which returns the OID for an enum wc_HashType.
Added new "WC_SIGNATURE_TYPE_RSA_W_ENC", that adds the encoded ASN header to the digest using wc_EncodeSignature for RSA signatures.
Added new SIG_TYPE_E and HASH_TYPE_E error types for explicit reporting of sig/hash type not available.
2016-02-03 15:07:56 -08:00
a6b7c00c9c Fix so WOLFSSL_CERT_EXT can be defined without WOLFSSL_CERT_GEN. Added new WOLFSSL_PUB_PEM_TO_DER to allow the public key PEM to DER functions to be available without CERT_GEN or CERT_EXT. Fix to add NO_FILESYSTEM check around wolfSSL_PemPubKeyToDer in ssl.h. Cleanup in coding.h for the #if check. 2016-02-03 14:58:46 -08:00
d04a7e802a add ECDHE-PSK and cipher suite ECDHE-PSK-NULL-SHA256 2016-02-03 13:44:13 -07:00
d26ca17efd Merge pull request #288 from moisesguimaraes/add_python_pbkdf2_tests
adds pbkdf_pcscs12 tests
2016-02-03 11:09:28 -08:00
1ad497177a adds pbkdf_pcscs12 tests 2016-02-02 15:43:48 -03:00
dc316d13bf Merge pull request #250 from ikudriavtsev/master
Wrapping PBKDF PKCS#12 algorithm.
2016-02-02 15:40:50 -03:00
8edf38632b Merge pull request #284 from JacobBarthelmeh/DH
fixed point DH operations
2016-02-02 08:31:30 -08:00
cad6a08f10 comment for clarifying table of DH sizes 2016-02-01 17:11:01 -07:00
f84c0742ad fix clang warning about potentially unset value 2016-02-01 15:23:24 -07:00
93c54c07ea cipher suite ECDHE-ECDSA-NULL-SHA 2016-02-01 14:43:17 -07:00
dda0de4baa Added optional define "NO_CRYPT_BENCHMARK" to allow disabling benchmark code. 2016-02-01 13:04:30 -08:00
7fe73c7cbd DTLS server should be able to receive multiple client hellos without advancing state 2016-02-01 11:06:24 -08:00
d0f8132cdc forcing sensitive memory to be all zeros when done with it 2016-02-01 10:45:09 -07:00
b6017c59ba Merge pull request #275 from dgarske/WolfErrorTypo
Fixed spelling errors
2016-02-01 09:00:10 -08:00
6fd5579130 Merge pull request #281 from toddouska/math-rsa-fix
fix normal math off by one loop error in fast_s_mp_mul_high_digs
2016-01-29 16:59:36 -08:00
f8876854f4 Spelling fixes in comments and error strings (ALGO_ID_E, ASN_TIME_E and WOLFSSL_ERROR function). 2016-01-29 16:13:09 -08:00
41f7cb0482 Forgot to change the testsuite and sslSniffer projects. Now these also use the IDE/WIN/user_settings.h. 2016-01-29 15:07:03 -08:00
ebd14a657d Added signature.c to Visual Studio project files. Added new "IDE/WIN/user_settings.h" which contains all the defines for the various Windows Visual Studio projects. Moved the settings into this new file and added the WOLFSSL_USER_SETTINGS and CYASSL_USER_SETTINGS macros and include path to IDE/WIN to all project files. This allows the settings (defines) to be adjusted in a single place for Win VS. 2016-01-29 14:29:31 -08:00
3f87d28190 Merge pull request #280 from JacobBarthelmeh/master
Update ChaCha20-Poly1305 cipher suites
2016-01-29 14:12:53 -08:00
fa25e5d09d fix normal math off by one loop error in fast_s_mp_mul_high_digs 2016-01-29 13:54:41 -08:00
9a5ad356a6 fixed point DH operations 2016-01-29 10:31:49 -07:00
611e37b3e8 naming for AEAD macros and TLSX with chacha-poly 2016-01-29 09:38:13 -07:00
6856e5bbe6 Merge pull request #261 from dgarske/AsnIoCleanup
asm.c time cleanup and io.c include cleanup
2016-01-28 13:25:21 -08:00
2bc0ae05b5 Added new CUSTOM_RAND_GENERATE_SEED_OS macro to allow custom random generation, which includes the OS_Seed. Opted to create new macro instead of modifying existing CUSTOM_RAND_GENERATE_SEED. 2016-01-28 09:31:36 -08:00
fa64abd83e Fix for deleted USER_TIME gmtime forward declaration. Fix to make sure XGMTIME maps to gmtime just as previous code did. 2016-01-27 13:20:06 -08:00
7d71d756f3 update ChaCha20-Poly1305 to most recent RFCs 2016-01-27 14:03:05 -07:00
fadd97de3a Moved the forward declarations until after the struct tm and time_t have been defined. 2016-01-27 11:17:54 -08:00
3b6f2b0330 Merge pull request #274 from JacobBarthelmeh/master
Updated comments for adding new error id strings and added missing UNKNOWN_MAX_FRAG_LEN_E.
2016-01-27 09:28:56 -08:00
18f1faa13d check error strings and update comment 2016-01-27 09:50:20 -07:00
71fcc1e478 comment for adding new wolfCrypt error id strings 2016-01-26 17:12:31 -07:00
5c4a3462ee Cleanup of the time macros in asn.c to allow expanded use of wolf "struct tm", "time_t" and "gmtime". Cleanup of the io.c socket includes for clarity. Cleanup trailing spaces in io.c and asn.c. 2016-01-26 13:47:01 -08:00
02397623be Merge pull request #273 from toddouska/bump-version
bump dev version
2016-01-26 13:18:11 -08:00
ee512cac4a bump dev version 2016-01-25 13:12:45 -08:00
18c25b5d04 Merge pull request #272 from cconlon/ksdk-fixes
Update support for Freescale KSDK 1.3.0, fix Freescale+FreeRTOS build
2016-01-25 12:24:01 -08:00
0801eeac8d update support for Freescale KSDK 1.3.0 2016-01-25 10:41:26 -07:00
993ae48502 Merge pull request #271 from JacobBarthelmeh/mysql
function needed for MYSQL compatibility
2016-01-25 09:39:18 -07:00
5df55e053d function needed for MYSQL compatibility 2016-01-22 16:33:54 -07:00
e1abf5f623 Merge pull request #270 from JacobBarthelmeh/OAEP
Use type enum wc_HashType rather than int for OAEP functions.
2016-01-21 08:50:00 -08:00
63d1f81fb1 cast XMALLOC to byte pointer 2016-01-21 09:05:19 -07:00
197f25f135 use type enum wc_HashType rather than int 2016-01-20 15:31:08 -07:00
3098e09f42 Merge pull request #269 from cconlon/coverity-fix
fix recursive include in wc_port.h
2016-01-20 09:01:09 -07:00
122a67139d fix recursive include in wc_port.h 2016-01-19 14:23:47 -07:00
f84722bbac Merge pull request #267 from moisesguimaraes/fix_ocspstapling_dtls_typo
Fix ocspstapling dtls typo
2016-01-19 10:34:15 -07:00
04a1bf0086 Merge pull request #265 from toddouska/cov-tfm
fix coverity report for fp_mont reduce where m is half max size, not …
2016-01-19 10:30:09 -07:00
a7bac3ae9b Merge pull request #266 from JacobBarthelmeh/master
check not CHACHA_BYTE before considering normal suite
2016-01-18 17:55:02 -08:00
a6a2214306 removes 'end of line' spaces; 2016-01-18 20:51:27 -03:00
08c67e5cdc fixes typo; 2016-01-18 20:51:27 -03:00
33a71fb456 Merge pull request #264 from JacobBarthelmeh/OAEP
help out clang static analyzer
2016-01-18 15:31:18 -08:00
3a65f55bd3 check not CHACHA_BYTE before considering normal suite 2016-01-18 15:33:32 -07:00
04b8df09e3 Merge pull request #260 from kaleb-himes/master
system read returns ssize_t, cast to int
2016-01-18 13:55:35 -08:00
8e97145682 fix coverity report for fp_mont reduce where m is half max size, not currently called that big but let's allow 2016-01-18 13:53:01 -08:00
93e454f09a Merge pull request #259 from dgarske/UnusedParamError
Fixes unused argument build error seen on CrossWorks (Issue #255).
2016-01-18 09:40:30 -08:00
268515018d help out clang static analyzer 2016-01-18 10:22:12 -07:00
1ab9f19541 Merge pull request #256 from JacobBarthelmeh/fast-rsa
fix for size of buffer when reading fast-rsa BN data
2016-01-15 15:47:57 -08:00
71741847d3 system read return size_t, cast to int
remove whitespace
2016-01-15 16:03:45 -07:00
014b849af4 Merge pull request #258 from toddouska/no-sha384
resolve issue #257, no sha384 with wolfssl cert chain and external test
2016-01-15 13:29:06 -08:00
81d26b83c3 Merge pull request #246 from JacobBarthelmeh/OAEP
RSA OAEP padding
2016-01-15 11:34:37 -08:00
476355b5bf fix potential memory leak on fail 2016-01-14 23:58:30 -07:00
07c79f9dc3 Fixes unused argument build error seen on CrossWorks (Issue #255). 2016-01-14 21:09:01 -08:00
1d473ab7b5 resolve issue #255, no sha284 with wolfssl cert chain and external test 2016-01-14 20:25:50 -08:00
d20b8880f0 Merge pull request #254 from lchristina26/master
Fix formatting to VxWorks README
2016-01-14 16:49:13 -08:00
dec13db1e7 Merge pull request #252 from moisesguimaraes/fix_srp_build
fixes srp build without sha512
2016-01-14 15:48:39 -08:00
3347bea0d5 fix for size of buffer when reading fast-rsa BN data 2016-01-14 15:00:59 -07:00
008612ec70 OAEP w/ smallstack and fixs 2016-01-14 14:26:17 -07:00
df0d2e8c3a Merge pull request #248 from JacobBarthelmeh/CSharp
C# wrapper fixes account for null terminator. Added additional read/write overrides for byte[] data.
2016-01-14 08:46:18 -08:00
c41b5ac3d2 Fix formatting to VxWorks README 2016-01-13 10:42:30 -07:00
10df002ec5 fixes srp build without sha512 2016-01-12 15:42:58 -03:00
037f4c60ab Merge pull request #251 from ejohnstown/dtls-handshake
fix a sequence number issue with DTLS epoch 0 messages earlier in the…
2016-01-11 11:29:25 -08:00
03fd89bc45 Wrapping PBKDF PKCS#12 algorithm. 2016-01-10 10:50:02 +01:00
db1f321ae3 Merge pull request #249 from lchristina26/master
Updates for VxWorks entropy and README, Arduino functionality
2016-01-08 16:08:13 -08:00
5e0fa1de90 utf8 switched to default and added comments 2016-01-08 16:50:49 -07:00
86ddeeb110 Add steps for including wolfSSL as an Arduino library 2016-01-08 12:07:35 -07:00
ae92a41512 Update fork to upstream: Merge https://github.com/wolfSSL/wolfssl 2016-01-08 11:59:35 -07:00
f7baf9e392 settings for Arduino functionality 2016-01-08 11:54:46 -07:00
efae688120 add entropy steps for VxWorks 2016-01-08 11:43:05 -07:00
ee1a767332 account for null terminator 2016-01-07 17:39:00 -07:00
5360e22ba5 fix a sequence number issue with DTLS epoch 0 messages earlier in the handshake 2016-01-07 13:18:01 -08:00
431951a692 Merge pull request #247 from kaleb-himes/null-pointer-excptn
safeguards to avoid de-referencing a null pointer
2016-01-06 10:25:14 -08:00
38392ce56a safeguards to avoid de-referencing a null pointer 2016-01-06 10:12:52 -07:00
251550ea62 Merge pull request #242 from kaleb-himes/scan-build-fixes
avoid unused variable warnings
2016-01-05 15:31:52 -08:00
a6ca2c3bdd Avoid un-necessary cast 2016-01-05 14:32:45 -07:00
29e6f283cf Implement peer suggestion 2016-01-05 14:19:46 -07:00
ef95000236 Merge pull request #243 from kaleb-himes/scan-build-fixes2
Avoid unused variable warnings with dead store in AES_GCM_decrypt
2016-01-05 12:30:32 -08:00
db55f0f8dd Merge pull request #235 from moisesguimaraes/fix_localhost_ocsp_stapling_tests
Fixes --enable-ocspstapling and --enable-ocspstapling2 Jenkins failures
2016-01-05 12:07:43 -08:00
1a16001dac Merge pull request #245 from kaleb-himes/scan-build-fixes4
check err after set
2016-01-05 10:52:53 -08:00
1fd496a5a7 Merge pull request #244 from kaleb-himes/scan-build-fixes3
Remove unnecessary assignment prior to return
2016-01-05 15:27:26 -03:00
d815affe83 RSA OAEP padding 2016-01-05 10:56:15 -07:00
e4c4c5a73a white space change removed 2016-01-05 07:37:31 -07:00
699597bb21 execute undef before checking and return 2016-01-05 07:35:28 -07:00
3725133592 Merge pull request #240 from kaleb-himes/myStack-init-check
compiler warning about myStack use in unique environment
2016-01-04 16:45:12 -08:00
fcfef59c43 check err after set 2016-01-04 17:04:10 -07:00
21c972f805 Remove unnecessary assignment prior to return 2016-01-04 16:08:04 -07:00
023052eaf1 Avoid unused variable warnings with dead store in AES_GCM_decrypt 2016-01-04 15:40:10 -07:00
dd469bb67d avoid unused variable warnings 2016-01-04 15:03:39 -07:00
0718f4b9a3 formatting fixes for VxWorks README 2016-01-04 14:44:08 -07:00
9351f0d2e7 updates to VxWorks README 2016-01-04 14:41:31 -07:00
4834e2d5cf updates for VxWorks simulator entropy 2016-01-04 14:33:30 -07:00
15918ebd99 initialize myStack to NULL for the later check against NULL 2016-01-04 13:18:43 -07:00
858da86c05 restore original certs, without OCSP Authority Information Access; 2016-01-04 17:15:29 -03:00
e6398998b1 check for NULL after malloc in posix_memalign 2016-01-04 12:55:35 -07:00
723a7fcf90 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into myStack-init-check 2016-01-04 09:17:04 -07:00
8a47c1d01e Merge pull request #237 from kaleb-himes/32-bit-ocsp
Also account for 32-bit users with ocsp test
2016-01-04 09:33:12 -03:00
d817f0fbc8 fixes test scripts to avoid bash-isms 2016-01-04 09:27:58 -03:00
7bbd93b609 Merge pull request #239 from kaleb-himes/openx-curve-unused
Fix cases that were not detected in Jenkins
2015-12-31 18:35:03 -08:00
fa3f0660b6 compiler warning about myStack use 2015-12-31 13:59:11 -07:00
51e365541f Merge pull request #238 from toddouska/aesni-192key
fix aesni 192bit key expansion over read of 64bits
2015-12-31 12:55:28 -08:00
b78fb311bb Fix cases that were not detected in Jenkins 2015-12-31 13:18:37 -07:00
99539b8875 fix aesni 192bit key expansion over read of 64bits 2015-12-31 11:19:47 -08:00
84ae9a9ae5 Also account for 32-bit users 2015-12-31 12:05:45 -07:00
71a3555f6f Merge pull request #236 from kaleb-himes/ed-openx-unused
catching up on old jenkins issues that need fixed
2015-12-31 10:29:32 -08:00
6a56a53545 catching up on old jenkins issues 2015-12-31 09:33:01 -07:00
1bef0ba455 cosmetic changes to OCSP Stapling options. 2015-12-30 17:10:25 -03:00
5fb8ea691a updates ocsp certs with better OCSP Responder URI. 2015-12-30 16:50:22 -03:00
5040820f98 prepare for 3.8.0 release 2015-12-30 12:09:31 -07:00
2145eebd1a Merge pull request #234 from JacobBarthelmeh/master
add ocsp needed certs to dist
2015-12-30 10:51:17 -08:00
0c21b67bb6 add ocsp needed certs to dist 2015-12-30 10:19:20 -07:00
87e828bf17 Merge pull request #233 from toddouska/hint-types
fix hint types for misuse of in_buffer and out_buffer
2015-12-30 09:34:25 -07:00
71218169c1 Merge pull request #232 from kaleb-himes/master
accounts for assumptions with external ocsp stapling test
2015-12-29 18:22:11 -08:00
157486ce0d fix hint types for misuse of in_buffer and out_buffer 2015-12-29 16:13:09 -08:00
a973eca4b8 accounts for assumptions with external ocsp stapling test 2015-12-29 17:05:51 -07:00
6ba14fa241 fixes some errors from Jenkins Expected Configurations Build # 111 2015-12-29 10:19:27 -03:00
0a14e6f3c6 Merge pull request #230 from cconlon/mcp_time_fix
fix LowResTimer on Microchip ports
2015-12-28 21:56:07 -08:00
774d335387 Merge branch 'csr' 2015-12-28 19:53:27 -03:00
ec9d23a9c3 Merge branch 'csr' 2015-12-28 19:38:04 -03:00
487bb4eb5e fixes before merge 2015-12-28 19:33:06 -03:00
a9894e9033 Merge pull request #229 from ejohnstown/dtls-warnings
fix DTLS warnings for Windows
2015-12-28 14:20:03 -07:00
47426b1f8d fix LowResTimer on Microchip ports 2015-12-28 13:58:01 -07:00
2e00b12b69 updates configure.ac with better option naming. 2015-12-28 17:55:41 -03:00
91c06736cb Merge pull request #228 from kaleb-himes/typo-corrections
minor typo corrections
2015-12-28 11:56:48 -08:00
2d33380abc Merge pull request #225 from JacobBarthelmeh/master
help message to use NTRU key in example server
2015-12-28 11:56:13 -08:00
c3df8af997 Merge pull request #223 from cconlon/vswarnings
fix Visual Studio warnings
2015-12-28 11:55:13 -08:00
3a1909dab9 Merge pull request #209 from kaleb-himes/master
OpenSSH added support for additional NID types. Update our compatibil…
2015-12-28 11:52:38 -08:00
92cb8eee61 revise the comments about port 0 use in the example client and server 2015-12-24 15:42:52 -08:00
99797eb4f6 Merge pull request #227 from ejohnstown/example-comments
Example comments
2015-12-23 15:09:54 -07:00
cc8633fe7f minor typo corrections 2015-12-23 13:28:45 -07:00
4b836f8476 added note to client and server regarding port 0 2015-12-23 12:20:53 -08:00
d17549f848 update example client ShowVersions() to not show disabled old-tls versions 2015-12-23 12:12:41 -08:00
558d2566cc Merge pull request #226 from toddouska/ranports-scripts
add random ports for all make check scripts, unique ready file
2015-12-23 12:49:16 -07:00
5cbaa9de20 Merge pull request #224 from ejohnstown/windows-fips-segments
add the Windows object ordering tags to wolfCrypt first and last sources
2015-12-22 17:08:57 -07:00
22385f2b39 add random ports for all make check scripts, unique ready file 2015-12-22 14:35:34 -08:00
41f50b7a73 NTRU suites considered part of static RSA suites group 2015-12-22 15:19:11 -07:00
0721b79282 help message to use NTRU key in example server 2015-12-22 11:51:26 -07:00
44c4f18d3e fix DTLS warnings for Windows 2015-12-22 09:45:54 -08:00
cbf3213c4f correct logic on pre-processor macro 2015-12-21 23:33:33 -07:00
0cb2374c69 Ensure configured before assuming message digest is supported 2015-12-21 23:03:45 -07:00
b153ac002c fix Visual Studio warnings 2015-12-21 16:11:02 -07:00
d5295edbd1 add the Windows object ordering tags to wolfCrypt first and last sources 2015-12-21 11:01:09 -08:00
37b8e60537 Merge branch 'toddouska-hello-size' 2015-12-18 10:00:00 -07:00
4da1ae3947 Merge branch 'hello-size' of https://github.com/toddouska/wolfssl into toddouska-hello-size 2015-12-18 09:33:13 -07:00
917edc5f18 Merge pull request #218 from toddouska/ssl3-aes256
add aes256 key derivation to ssl3
2015-12-17 18:30:23 -08:00
b89354880f switch pragma once uses, causes warnings on some compilers 2015-12-17 13:19:17 -07:00
e503b89ca1 allow sniffer build with -v 0 examples to work 2015-12-17 12:10:22 -08:00
6c69b7f109 make hello suite size user settable, increase default 2015-12-17 09:57:44 -08:00
d395c5aba3 condense to one switch statement for testing of message digests 2015-12-16 11:40:58 -07:00
46c4653f60 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-12-16 11:37:07 -07:00
ed8a50ce69 Merge pull request #211 from lchristina26/master
GenerateSeed() Function for VxWorks compatibility
2015-12-15 15:59:20 -08:00
94b1df49ae Merge pull request #219 from JacobBarthelmeh/master
install user_rsa.h and fix leading bit function
2015-12-15 15:57:48 -08:00
3113c8db9b update VXWORKS GenerateSeed() - no printf, error return 2015-12-15 16:52:21 -07:00
1cdc6d5edb refactoring dist and install of user/fast-rsa 2015-12-15 16:09:49 -07:00
b87c7fb460 install user_rsa.h and fix leading bit function 2015-12-15 13:50:01 -07:00
eed40eb690 add aes256 key derivation to ssl3 2015-12-15 11:54:03 -08:00
b9e2ff3055 Merge pull request #217 from NickolasLapp/openssl_version_increase
Add in stub functions for opensslv1.0.1 w/ stunnel and lighttpd
2015-12-15 11:17:52 -08:00
9688a0f0db fixes API names (marketing wise); 2015-12-14 23:12:08 -03:00
a15c003211 adds extra certs for ocspstapling tests; 2015-12-14 23:02:49 -03:00
0ca6a5601e fixes OCSP_MULTI check;
adds root-ca-cert to index0.txt;
adds keyUsage to CA certs;
sets fixed serial to root-ca-cert;
2015-12-14 20:22:48 -03:00
bf621f1832 Add in stub functions for opensslv1.0.1 w/ stunnel and lighttpd 2015-12-14 15:36:04 -07:00
196b983b7b adds ocsp test scripts; 2015-12-13 18:06:08 -03:00
a834c2acf6 improved DTLS handshake sequence numbering when retransmitting finished message 2015-12-11 18:41:09 -08:00
6ab9c87f13 add comment to VXWORKS GenerateSeed() 2015-12-11 13:41:05 -07:00
e2456214f4 update random.c for better entropy with VXWORKS 2015-12-11 13:22:33 -07:00
8b99cea5c8 update README with entropy instructions 2015-12-11 13:19:44 -07:00
af4eb590a6 Merge pull request #214 from aburks/IS-213-AESFailsWithFreescaleCAU
Issue #213: AES fails with Freescale (mm)CAU
2015-12-10 17:08:52 -08:00
838c5297c3 Merge pull request #216 from aburks/IS-215-SignatureUsesOldRNG
Issue #215: Signature module uses old RNG
2015-12-10 17:08:36 -08:00
03a643cc35 Issue #215: Signature module uses old RNG. Use the new WC_RNG construct instead in order to prevent conflicts with board support packages. 2015-12-10 17:04:48 -08:00
bc54b18cad Issue #213: AES fails with Freescale (mm)CAU. 2015-12-10 16:55:49 -08:00
4f0c2177b2 Merge pull request #212 from dgarske/CleanupAsnLeadingZero
Cleanup of the leading zero detection in wc_RsaKeyToDer and wc_DsaKey…
2015-12-10 11:11:58 -08:00
89518ad445 Cleanup of the leading zero detection in wc_RsaKeyToDer and wc_DsaKeyToDer to use existing mp_leading_bit function. 2015-12-10 10:48:50 -08:00
1c4b3016e6 set required tls1_2 for when using ChaCha20-Poly1305 suite 2015-12-10 11:45:27 -07:00
5c5c7ffaec Merge pull request #210 from dgarske/CheckEccAltwFastMath
Added compile time check for ALT_ECC_SIZE requiring USE_FAST_MATH.
2015-12-10 10:24:20 -08:00
cb73064c10 format changes to VXWORKS GenerateSeed() 2015-12-09 13:22:13 -07:00
38ac17864e added entropy, wc_GenerateSeed() for VxWorks 2015-12-09 13:18:42 -07:00
1153c31bbb Added compile time check for ALT_ECC_SIZE requiring USE_FAST_MATH. 2015-12-09 09:53:59 -08:00
97dcb5e567 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-12-08 13:45:25 -08:00
5fd4903fde bump version to 3.7.3 2015-12-08 09:32:00 -08:00
1d1af6410d OpenSSH added support for additional NID types. Update our compatibility layer 2015-12-08 07:27:43 -08:00
d30a1be572 adds new certificates for OCSP tests 2015-12-07 19:55:33 -03:00
8756c31a01 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-12-07 12:43:01 -08:00
c7fdc9ba9e DTLS Hello Verify and Server Hello should use the sequence number of the Client Hello 2015-12-07 11:24:14 -08:00
4a0c4fbf3f remove fprintf from ecdsa verify fail wrapper 2015-12-07 09:25:19 -08:00
beebc87bc8 Merge pull request #208 from JacobBarthelmeh/master
example IO callback and keep memory alive when needed
2015-12-07 09:12:07 -08:00
1600ba7f3d example IO callback and keep memory alive when needed 2015-12-06 14:30:00 -07:00
6c70e3233d fix bug where unknown OIDs were treated as parsing errors rather than ignored 2015-12-05 13:14:29 -08:00
89a65b0aa0 Fixed compile error in signature.c with g++. Corrected comment. 2015-12-04 15:22:06 -08:00
179f1cab9b Merge branch 'keyex' 2015-12-03 12:38:02 -08:00
37bc497f21 fix merge conflict 2015-12-03 12:37:49 -08:00
532d1da9c0 Merge pull request #206 from dgarske/FixExtraMalloc_wNotTLS12
Fixed issue with "WOLFSSL_SMALL_STACK" and pre TLS 1.2 in "SendServer…
2015-12-03 11:26:43 -08:00
0c9dca3a5f Merge pull request #201 from JacobBarthelmeh/fast-rsa
modification to fast-rsa sign operation and make key
2015-12-03 11:19:02 -08:00
1c2a920b8f Merge pull request #203 from dgarske/SendServerHelloRNGCombine
Combined "wc_RNG_GenerateBlock" calls in "SendServerHello".
2015-12-03 11:16:00 -08:00
b1d18d8455 Fixed issue with "WOLFSSL_SMALL_STACK" and pre TLS 1.2 in "SendServerKeyExchange" where "encodedSig" is allocated and not used. 2015-12-02 19:43:05 -08:00
fea769816c ed25519 verify function return descriptive error value 2015-12-02 15:55:40 -07:00
e08fa67a32 fix clang --disable-memory issues 2015-12-02 14:40:32 -08:00
5cf94166b2 silently drop epoch 0 messages when handshake completed 2015-12-01 14:59:32 -08:00
d673a56c83 change line ending of license to match Windows CR LF 2015-12-01 14:49:16 -07:00
5687562e7b back out change to decryptedCur flag 2015-12-01 13:32:00 -08:00
a5f689168e fix call to IsEncryptionOn for session tickets 2015-12-01 09:18:21 -08:00
bb5de34e5c cast type on XMALLOC with ntru 2015-12-01 09:24:44 -07:00
654e17379e Combined "wc_RNG_GenerateBlock" calls in "SendServerHello". 2015-11-30 19:29:20 -08:00
251d0364f8 check DTLS sequence number against window a little earlier 2015-11-30 17:16:47 -08:00
346dcb0fd9 adds WOLFSSL_CSR2_OCSP_MULTI support; 2015-11-30 21:26:00 -03:00
514aa331f8 wrapped checks for encryptionOn with a function to allow more complicated checks like for epoch 0 being unencrypted 2015-11-30 14:43:03 -08:00
07356af78e prepares BuildCertificateStatus() to send more than one certificate status; 2015-11-30 18:34:00 -03:00
767da41b16 allow 1024 and 2048 example cert buffers to be enabled at same time, gencertbuf.pl 2015-11-30 14:18:17 -07:00
d2a80ba1bc remove extra NULL check in SetTmpDH_buffer/file_wrapper, fix API tests 2015-11-30 10:25:55 -07:00
6030970026 perfer local IPP libraries, memory usage and casting 2015-11-29 23:34:58 -07:00
db599bb361 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into fast-rsa 2015-11-29 13:39:45 -07:00
4217ef5475 fixed mdk4 macro control in example server/client, echoserver/client 2015-11-27 11:31:12 +09:00
7f1b9a1e13 storing DTLS handshake messages takes into account overlapping data 2015-11-25 20:25:57 -08:00
83f26abdde Merge pull request #198 from JacobBarthelmeh/master
C Sharp wrapper
2015-11-25 14:11:52 -08:00
e4894bfd0b add comments to clarify accept and connect state advancement due to sending fragments 2015-11-25 11:10:42 -08:00
02411ccced add F back into the client command line options scanning 2015-11-25 10:36:51 -08:00
1b3254cc47 Merge pull request #202 from NickolasLapp/openssl_test_update
Clarify Openssl.test results messaging
2015-11-25 09:12:52 -08:00
f7fac88e8b Don't error out when calling ippInit to find optimized IPP library, just fall back to use standard 2015-11-24 17:28:43 -07:00
33eb4b98d3 Clarify Openssl.test results messaging 2015-11-24 15:16:26 -07:00
1626ae6287 Merge pull request #200 from lchristina26/master
Update VxWorks README to assume a filesystem, fix typos
2015-11-24 13:31:16 -08:00
c5c9991d11 modification to fast-rsa sign operation and make key 2015-11-24 13:41:04 -07:00
da127dfb17 warrning for unused function in user-crypto / fast-rsa mode 2015-11-24 13:18:39 -07:00
76952d9ea9 updated README to leave out NO_FILESYSTEM 2015-11-24 12:21:01 -07:00
1fbaf089ae adds support to WOLFSSL_CSR2_OCSP in both DoCertificateStatus() and SendCertificateStatus();
adds contingence plan for status_request_v2;
2015-11-24 00:47:27 -03:00
f9d6464793 adds basic extension code for CERTIFICATE_STATUS_REQUEST_V2;
fixes EncodeOcspRequestExtensions() length check;
2015-11-23 23:42:05 -03:00
e4bed957b3 #1591: fixed macro control for MDK4 2015-11-24 11:26:08 +09:00
91b7cddb7c better error checking on condition variable operations, cleanup 2015-11-23 15:13:36 -08:00
b9f0243528 Merge pull request #195 from dgarske/LPCXpresso
Adds LPCXpresso IDE support
2015-11-23 14:47:20 -08:00
6c1fd13184 Merge pull request #199 from dgarske/ChangeToWolfRootWarnFix
Fixes "warning: Size argument is greater than the free space in the d…
2015-11-23 14:43:45 -08:00
c3b3ba4a2a Fixes "warning: Size argument is greater than the free space in the destination buffer" with XSTRNCAT(). 2015-11-23 14:41:24 -08:00
feef035c06 Merge branch 'crl-monitor' 2015-11-23 14:17:27 -08:00
32b2d7f9e4 have calling thread wait for crl monitor thread to setup for simpler cleanup 2015-11-23 14:15:12 -08:00
96e18a8c68 adds next update verification when decoding the OcspResponse;
fixes memleak in GetOcspStatus(); If the status was outdated, the responseBuffer was allocated twice;
consider error in OcspResponseDecode() also a BAD_CERTIFICATE_STATUS_ERROR;
2015-11-23 15:11:51 -03:00
f3131fb5d6 adds next update time to ocspd.sh 2015-11-23 13:34:27 -03:00
b820619e6c updates certs;
adds ocsp certs;
2015-11-23 09:56:45 -03:00
51f5ded392 adds config to generate ocsp certs 2015-11-23 09:44:39 -03:00
aaad9787db updates box version to trusty64;
fixes provisioning errors;
2015-11-23 09:19:33 -03:00
d248a7660c ASN: when getting OID from stream, check the summed value; added utility to skip OID; setting OID uses same strings as getting, separated NULL tag from the OID 2015-11-21 12:00:34 -08:00
9c6b52876a add SetTmpDH file/buffer functions to API tests 2015-11-20 13:32:44 -07:00
85373f7b6e move SetTmpDH buffer functions out of NO_FILESYSTEM 2015-11-20 13:30:22 -07:00
7d13fe9017 license heading 2015-11-20 10:19:55 -07:00
39d6992759 logging levels added 2015-11-20 09:59:08 -07:00
b9dae51658 C Sharp wrapper 2015-11-19 20:51:32 -07:00
6abfaf6df4 Implemented Wolf version of LPC18XX startup code to eliminate NXP code from our repo. Cleanup of trailing spaces and convert tabs to spaces. 2015-11-19 19:06:40 -08:00
14cb082a37 Merge pull request #197 from dgarske/RowleyIDECleanup
Rowley IDE fix to exclude .asm and .s files. Cleanup to remove Rowley…
2015-11-19 18:16:57 -08:00
c898c582f9 Corrected filename in include.am and top of file. 2015-11-19 17:56:49 -08:00
1894358bec Rowley IDE fix to exclude .asm and .s files. Cleanup to remove Rowley example code, leaving just stubs and Wolf code. 2015-11-19 14:32:45 -08:00
6d67ee11b6 Merge pull request #196 from NickolasLapp/SNI_ConditionalCompile
Define SNI func condtionally. Declare var at top of func
2015-11-19 13:18:23 -08:00
c3cdbf31bb Define SNI func condtionally. Declare var at top of func 2015-11-19 13:49:57 -07:00
2698736aaf fix missing XMALLOC/FREE types 2015-11-19 10:20:28 -08:00
e51f99a5c3 Adds LPCXpresso IDE support. Tested with the OM13076 (LPCXpresso18S37) board. 2015-11-18 17:16:33 -08:00
4da70f9fe9 Merge pull request #193 from dgarske/SigHashFixes
Fixes for build errors with new signature and hash wrapping functions…
2015-11-17 12:19:21 -08:00
a2915fbc57 Merge pull request #194 from dgarske/BenchmarkAddHeader
Added benchmark.h to expose the benchmark_test function. Updated a co…
2015-11-17 12:13:08 -08:00
cdc830c1cc Fixes for build errors with new signature and hash wrapping functions. Disabled MD2/4 hash wrapping. 2015-11-17 10:15:36 -08:00
09793e3206 Added benchmark.h to expose the benchmark_test function. Updated a couple of projects to use the new benchmark header. 2015-11-17 08:52:12 -08:00
5e80bf46bf Merge branch 'master' of github.com:wolfssl/wolfssl 2015-11-16 13:20:26 -08:00
ca7956b50d update cavium nitrox port to wolfssl 2015-11-16 13:20:19 -08:00
4e7935f5f5 Merge pull request #188 from dgarske/HashSignVerifyWrappers
New hash and signature wrapper functions:
2015-11-16 12:16:55 -08:00
103f984421 Cleanup of the signature wrapper error cases to be more explicit. 2015-11-16 11:54:23 -08:00
60b1a0c8be fixes scan-build warnings 2015-11-16 16:16:48 -03:00
5e4955f689 reuse OcspRequest data in ocsp stapling; 2015-11-16 16:03:48 -03:00
6d6ca56e4e fixes SendCertificateStatus() loading the CA in the server side to build the OCSP request properly. 2015-11-16 15:31:50 -03:00
24907fc818 adds buffer logging; 2015-11-15 18:43:29 -03:00
12802f40c5 finishes SendCertificateStatus(); sending the stored status; 2015-11-15 16:40:47 -03:00
8ae6bf1641 adds server side Certificate Status Request extension;
missing: Finish SendCertificateStatus();
2015-11-15 00:26:11 -03:00
cc684f8593 fixes OCSP nonce extension size estimation at client hello message; 2015-11-14 22:28:52 -03:00
a38f7bb937 fix jni build enabling ecc on non 64 bit platforms 2015-11-13 16:58:05 -07:00
b870bad63e Added new "SIG_VERIFY_E" type for "wc_SignatureVerify" failure. Added argument checking on new signature wrapper functions. Added new "NO_SIG_WRAPPER" to optionally disable wrappers to reduce code size. 2015-11-13 12:22:32 -08:00
4a853b7318 Update README.md 2015-11-13 10:45:11 -07:00
bcff81fd64 Update README.md 2015-11-13 10:38:58 -07:00
9007d4b655 Update README.md 2015-11-13 10:37:46 -07:00
0994491916 Update README.md 2015-11-13 10:36:36 -07:00
e5707f0d49 Update README.md 2015-11-13 10:35:13 -07:00
0c1a4dfd12 Merge pull request #190 from NickolasLapp/stunnel_session_changes
Implement missing openssl API
2015-11-12 16:11:01 -08:00
66965759d5 Implement missing openssl API 2015-11-12 16:52:56 -07:00
5c96be4d19 fix idea conversion warnings 2015-11-12 15:14:00 -08:00
806a2748bf Merge pull request #189 from lchristina26/master
Updates for Wind River WORKBENCH/ VxWorks Compatibility
2015-11-12 13:33:27 -08:00
307413f11b Update README.md 2015-11-12 13:34:36 -07:00
db6920d372 updates for vxworks compatibility 2015-11-12 13:33:47 -07:00
261fedd906 idea_mult() now works on 16,32, AND 64bit systems 2015-11-12 10:32:35 -08:00
d9cb1cfbe1 fix idea_mult() for 16 and 32bit systems 2015-11-12 10:22:31 -08:00
ba92b2db7b Update README.md 2015-11-12 10:47:38 -07:00
f692c8cefb New hash and signature wrapper functions:
1. Added new hash wrapper function "wc_Hash". Hash functions support Md# and SHA# using "enum wc_HashType". Added new "wc_HashGetDigestSize" function to get hash size (returns 0 if not supported).
2. Added new signature wrapper functions "wc_SignatureGenerate" and "wc_SignatureVerify" to perform hash then sign/verify of bytes. Signature functions support ECC and RSA using "enum wc_SignatureType". Added new "wc_SignatureGetSize" function to get the signature size using the key (returns 0 if not supported).
2015-11-12 09:36:14 -08:00
302fd05edd Change "//" to "/* */" comment. Removed unreferred functions. 2015-11-12 15:31:58 +09:00
866b1517d3 Merge pull request #187 from NickolasLapp/fix_getShutdown
Make get_shutdown return correct results with stunnel
2015-11-11 11:15:22 -08:00
e49b12c7cc Make get_shutdown return correct results with stunnel 2015-11-11 11:43:38 -07:00
01e649210d Update README.md 2015-11-11 10:16:48 -07:00
6cdeebc4da Update README.md 2015-11-11 10:03:49 -07:00
27e523a85a Update README.md 2015-11-11 10:00:53 -07:00
d34f2ebc35 Update README.md 2015-11-11 09:30:03 -07:00
cdea03fdf3 Update README.md 2015-11-11 09:28:59 -07:00
f9cd90872d Update README.md 2015-11-11 09:21:27 -07:00
4063fbc2b5 Update README.md 2015-11-11 09:18:00 -07:00
7d9356ae04 Update README.md 2015-11-11 09:13:04 -07:00
19ebc5b600 Update README.md 2015-11-11 09:12:10 -07:00
c3540b2f6e Update README.md 2015-11-11 09:11:14 -07:00
28cbe7e7a5 Merge pull request #186 from tisb-vikram/master
add HAVE_ECC to WolfSSL/TI-RTOS settings
2015-11-10 19:58:46 -08:00
196b965be5 add HAVE_ECC to WolfSSL/TI-RTOS settings 2015-11-10 18:06:55 -08:00
d076fdf0cd Merge pull request #185 from tisb-vikram/master
fix TI-RTOS makefiles to build wolfSSL from local dir
2015-11-10 17:41:57 -08:00
3211817f59 fix TI-RTOS makefiles to build wolfSSL from local dir
Signed-off-by: Vikram Adiga <vikram.adiga@ti.com>
2015-11-10 17:21:10 -08:00
a69d99981f Merge pull request #184 from kaleb-himes/master
allow openssl extra tests if configuration supports
2015-11-10 15:15:30 -08:00
c3a249009f allow openssl extra tests if configuration supports 2015-11-10 15:29:05 -07:00
9b8f26329d improves srp unit test to use random salt; 2015-11-10 17:43:02 -03:00
5823485f61 Merge pull request #182 from lchristina26/master
Update the README for VxWORKS
2015-11-10 12:36:59 -08:00
56e94cb3a9 Update README.md 2015-11-09 22:37:21 -07:00
9c43e94746 Update README.md 2015-11-09 22:36:00 -07:00
ebd1e2b35d Update README.md 2015-11-09 22:35:16 -07:00
a0f3fa1f1a Update README.md 2015-11-09 22:34:53 -07:00
54c5a3a10c update VxWorks readme 2015-11-09 17:23:25 -07:00
6efd8e2db0 fix unused PemToDer() vars depending on build options 2015-11-09 14:58:20 -08:00
906be9fb20 add printf to logger w/o callbacks w/ WOLFSSL_LOG_PRINTF 2015-11-09 14:55:09 -08:00
417f85da86 use gmtime_r if there 2015-11-09 14:48:39 -08:00
756feb37f5 Merge pull request #179 from kaleb-himes/master
SAFESEH:NO in DLL Debug|Win32
2015-11-09 14:25:23 -08:00
e9348635a0 SAFESEH:NO in DLL Debug|Win32 2015-11-09 15:11:58 -07:00
d869279ad5 Merge branch 'custom-seed' 2015-11-06 15:37:26 -08:00
099b6bc3df Updated the Rowley Crossworks example so it builds due to new user-crypto. Tested and verified new "CUSTOM_RAND_TYPE" using 8, 16 and 32 bit values. 2015-11-06 09:41:16 -08:00
05f4c83b98 Optimizations to improve random number generation performance and provide additional ways to implement custom versions of custom random handlers. Added new "CUSTOM_RAND_TYPE" to define the datatype for the "CUSTOM_RAND_GENERATE" function. Added new "CUSTOM_RAND_GENERATE_SEED" option for anyone who wants to implement their own equivalent "wc_GenerateSeed()" function. Added generic FREESCALE_RNGA and FREESCALE_RNGB options. 2015-11-05 22:20:11 -08:00
dccbc1cdd4 fixes ocsp nonce extension decoding;
enables use of ocsp nonce extension in the client example.
2015-11-05 11:45:42 -03:00
62210186c7 fix code logic to single if 2015-11-05 11:45:41 -03:00
17c9494a2d fix gfmul intel calling convention 2015-11-04 13:26:38 -08:00
124f1f8ce7 switch gfmul to intel syntax in aes_asm.asm 2015-11-04 11:55:04 -08:00
3b102862b1 exclude new AES-GCM test when in FIPS mode 2015-11-03 16:57:38 -08:00
23ba31cbdd 1. Fixed bug where AES-GCM IVs had to only be 12 bytes. Now
accepts any length.
2. Added test case for AES-GCM using an 60 byte IV.
3. AesGcmSetKey doesn't calculate H value in AES-NI mode.
2015-11-03 16:47:42 -08:00
427405fff9 Merge branch 'timediff' 2015-11-03 14:21:55 -08:00
44165371bc timediff fixup 2015-11-03 14:15:15 -08:00
69d5f2e43c Merge branch 'DateFormat' of https://github.com/kojo1/wolfssl into timediff 2015-11-03 14:04:14 -08:00
5c9089651a fix github issue #174 , disable des3 with (else if) logic broken 2015-11-03 12:03:35 -08:00
8d4d9ebe12 fix jenkins ec 56 2015-11-03 11:30:56 -08:00
37f4fbc000 Merge branch 'openssl-script' 2015-11-02 13:27:20 -08:00
fbd4f8a6ed fix merge conflict 2015-11-02 13:26:46 -08:00
54a0a3370a fix wolfSSL_Init to only call new wolfCrypt_Init() once 2015-11-02 12:35:43 -08:00
a1d1155b0c add missing error strings 2015-11-02 12:18:12 -08:00
b13ae543ec bump dev version 2015-11-02 11:15:21 -08:00
3db5a5f2c2 Merge branch csr into 'master' 2015-11-02 15:54:41 -03:00
21d70636dc Merge branch csr into 'master' 2015-11-02 15:51:01 -03:00
1d32ff2c59 Merge branch 'aes-ni-gcm' 2015-11-02 09:42:10 -08:00
28dcef2d71 gcm benchmark results format alignment 2015-11-02 09:39:34 -08:00
f8aeac608c 1. Add C NI-intrinsic AES-GCM encrypt and decrypt.
2. Fix error string for wolfcrypt test of GMAC.
3. Add AES-GCM Decrypt to benchmark.
2015-10-30 16:03:26 -07:00
5d2d249673 turn on OpenSSL public key type decodes unless explicitly turned off 2015-10-30 13:40:05 -07:00
d741d4cddc Adding UTC Time Differential in ValidateDate 2015-10-30 11:26:54 +09:00
e76f95465d Merge pull request #170 from dgarske/master
Fixes initialization of the Crypto HW protection, which could leak a …
2015-10-29 13:56:18 -07:00
8dfa1af9e9 Merge pull request #169 from lchristina26/master
updates for VxWorks

Update example client/server to be compatible with VxWorks builds
2015-10-29 13:50:13 -06:00
5bcb7e98cb readme updates 2015-10-29 13:47:40 -06:00
1a96ff6766 readme updates 2015-10-29 13:45:58 -06:00
4061346f77 more readme updates 2015-10-29 13:44:22 -06:00
dd99948bcd Workbench readme update 2015-10-29 13:41:17 -06:00
723fc3761b Example client/server compatible with VxWorks 2015-10-29 13:39:02 -06:00
dacfd84bea Enhanced "ChangeToWolfRoot" to report error if the root was not found. Also fixed the depth limit. 2015-10-29 10:45:37 -07:00
f977caa492 Cleanup of the test code that looks for the WolfSSL root directory. Now it tries to open the certs/ntru-cert.pem file in each directory up (limited to 5) until it opens it. 2015-10-28 23:54:08 -07:00
d31cec0df0 Fixes initialization of the Crypto HW protection, which could leak a mutex if two calls to "wolfSSL_CryptHwMutexLock()" occurred at the same time prior to calling "wolfSSL_CryptHwMutexInit()". Fixes #164. 2015-10-28 23:07:52 -07:00
2c41a5b961 adjust wolfssl lib value in rpm spec.in 2015-10-28 17:33:31 -06:00
55a56cac05 Release 3.7.0 2015-10-28 15:07:22 -06:00
3e9fd1c542 Merge branch 'master' into csr
Conflicts:
	configure.ac
	wolfssl/wolfcrypt/types.h
2015-10-28 14:34:15 -03:00
071a452bec fix indentation and enum conflict 2015-10-28 12:20:20 -03:00
a914ca74f2 updates for VxWorks 2015-10-27 21:24:21 -06:00
542b59d90a Merge pull request #150 from JacobBarthelmeh/master
Intel RSA IPP plug in
2015-10-27 16:57:32 -07:00
8bd228a391 remove libusercrypto.dylib and adjust gitignore 2015-10-27 17:11:31 -06:00
5b2fbd9747 Merge pull request #168 from NickolasLapp/uninitWarn
Fixed gcc variable-mayble-uninitialized warning
2015-10-27 16:07:12 -07:00
b7848481a3 Fixed gcc variable-mayble-uninitialized warning 2015-10-27 16:42:19 -06:00
cddebfa941 changes --enable-statusrequest to --enable-ocspstapling 2015-10-27 19:27:56 -03:00
f477168cf7 make it easier for user to define custom bigint types 2015-10-27 14:52:07 -07:00
fa1a356888 add DYNAMIC_TYPE_USER_CRYPTO tag for malloced memory 2015-10-27 13:26:32 -06:00
8dc154ff71 adds support for TLS downgrading against buggy TLS servers.
reference: RFC 5246 - TLS 1.2 - Appendix E.1:

   Note: some server implementations are known to implement version
   negotiation incorrectly.  For example, there are buggy TLS 1.0
   servers that simply close the connection when the client offers a
   version newer than TLS 1.0.  Also, it is known that some servers will
   refuse the connection if any TLS extensions are included in
   ClientHello.  Interoperability with such buggy servers is a complex
   topic beyond the scope of this document, and may require multiple
   connection attempts by the client.

   Earlier versions of the TLS specification were not fully clear on
   what the record layer version number (TLSPlaintext.version) should
   contain when sending ClientHello (i.e., before it is known which
   version of the protocol will be employed).  Thus, TLS servers
   compliant with this specification MUST accept any value {03,XX} as
   the record layer version number for ClientHello.

   TLS clients that wish to negotiate with older servers MAY send any
   value {03,XX} as the record layer version number.  Typical values
   would be {03,00}, the lowest version number supported by the client,
   and the value of ClientHello.client_version.  No single value will
   guarantee interoperability with all old servers, but this is a
   complex topic beyond the scope of this document.
2015-10-27 16:10:23 -03:00
f37ea955ec improves OCSP response signature verification;
reference: RFC 2560 -  Section 4.2.2.2  Authorized Responders:

   The key that signs a certificate’s status information need not be the
   same key that signed the certificate. It is necessary however to
   ensure that the entity signing this information is authorized to do
   so.  Therefore, a certificate’s issuer MUST either sign the OCSP
   responses itself or it MUST explicitly designate this authority to
   another entity.
2015-10-26 19:33:35 -03:00
a47f98ee19 adds support to nonce extension in OCSP stapling (status request tls extension);
fix nonce encoding, there was a missing ASN.1 OctetString header;
2015-10-26 18:11:38 -03:00
14fa980dad adds contingence plan (force OCSP check when the server answer the status_request extension but doesn't sends a CertificateStatus message);
adds back status_request to context level;
2015-10-26 18:11:38 -03:00
42380793c9 adds comparison of OcspRequest and OcspResponse;
removes TLS Extension Status Request at context level as specific data is always needed for each session;
2015-10-26 18:11:38 -03:00
daf3155d3c adds partial client support to TLS Extension Status Request, a.k.a. OCSP stapling;
missing:
 - compare OcspRequest and OcspResponse;
 - execute contingence plan;
 - add nonce extension;
2015-10-26 18:11:38 -03:00
82f86adb8e renames TLS Extension types to follow the TLSX_ + "extension name" pattern; using names listed by IANA:
http://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml

fixes ocsp response extensions parsing in asn.c;

fixes dir slashes in .gitignore: replaces '\' with '/';

removes trailing white spaces;
2015-10-26 18:11:38 -03:00
975452f585 configure error out when not finding libraries with fast-rsa 2015-10-26 13:11:11 -06:00
a42308e28a Add function ssl_FreeDecodeBuffer() to release the sniffer allocated data buffer and reset the pointer. 2015-10-26 12:01:21 -07:00
b05332c417 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-10-26 10:17:46 -07:00
f99d3067c9 sniffer dynamic buffer release 2015-10-23 16:56:17 -07:00
ab68f38236 have allocate extra byte in case user wants to null terminate returned plaintext 2015-10-23 16:38:59 -07:00
d53b6a9132 handle sniffer realloc failure w/o leak 2015-10-23 16:19:26 -07:00
880ec8cb09 sniffer owns data buffer now, user free(s) after use 2015-10-23 14:12:45 -07:00
c90d0d9607 Merge branch 'sniffer' 2015-10-23 14:10:51 -07:00
73f6666fc2 pre 3.7 2015-10-23 11:18:44 -07:00
dc31b9238f wolfcrypt init 2015-10-23 11:55:17 -06:00
2569cd2ca4 simplify the size check for storing a DTLS handshake message fragment 2015-10-21 15:04:55 -07:00
54e06cd04e added deallocator for DtlsPools 2015-10-21 15:04:55 -07:00
6b3c8e8b79 Merge https://github.com/wolfssl/wolfssl 2015-10-21 10:57:39 -06:00
f64f326ab3 work on cyassl -> wolfssl compatibility 2015-10-20 15:25:00 -06:00
87668e7acd make external script test optional with env variable as CA changes more frequent than release 2015-10-20 11:56:46 -07:00
d2bdea9d96 add new ca to wolfssl website 2015-10-20 11:28:25 -07:00
66d8dc0c71 fix README candidiate typo 2015-10-20 11:22:10 -07:00
1b311eb8e6 Merge pull request #166 from dgarske/master
Updated the INSTALL file with section for building with Rowley CrossW…
2015-10-20 11:18:45 -07:00
f26a9f8a70 Updated the INSTALL file with section for building with Rowley CrossWorks and updated the prerequisites for building with *nix. 2015-10-20 09:44:04 -07:00
374e31b211 user crypto memory management 2015-10-20 09:22:43 -06:00
7499175bdb fix jenkins sniffer changes 2015-10-19 15:09:36 -07:00
c132f9887e Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-10-19 13:56:39 -06:00
ee5a11b8d9 Add Intel IPP crypto for RSA
add user-crypto makefile

update README for IPP crypto

place user crypto in wolfcrypt and use autotools

adjust distributed files

move openssl compatibility consumption

auto use IPP RSA -- IPP directory containing shared libraries local

return value of wolfSSL_BN and formating of debug

openssh testing

make sure IPP not built when fips is

ipp init to select correct optimizations -- static libraries on linux -- fast-rsa disabled by default

try to only set library once

only use static IPP if fast rsa is enabled

make print out for user crypto more pretty
2015-10-19 13:51:49 -06:00
14d893aeb0 Add decrypt of AES-GCM to the sniffer. 2015-10-19 11:28:25 -07:00
e1b0c0ac3d fix jenkins build#69 2015-10-16 15:12:37 -07:00
c93c6c9bf4 add wolfSSL_new() pointer return check on all calls in example client 2015-10-16 14:12:38 -07:00
1253c86c95 Merge branch 'alpn' 2015-10-16 14:06:33 -07:00
4141ea8f83 example server to use cstd free for all build options 2015-10-16 14:05:37 -07:00
1bfc7c7921 Merge branch 'master' of https://github.com/wolfssl/wolfssl
Conflicts:
	examples/server/server.c
	src/ssl.c
	src/tls.c
	tests/api.c
	wolfssl/internal.h
	wolfssl/ssl.h
2015-10-16 08:01:29 +02:00
9ef43910ed Merge branch 'master' of https://github.com/wolfssl/wolfssl 2015-10-16 07:46:51 +02:00
10eab5047a Fixed compile issues with example server/client. Fixed issue with using XMALLOC/XFREE being used in examples. Fixed issue with "int select_ret" declaration scope. Fixed issue with test.h HAVE_SESSION_TICKET "static rng" name. 2015-10-15 13:42:41 -07:00
d3584979a0 add JNI object storage in WOLFSSL struct 2015-10-15 13:30:03 -06:00
bfc8240dc5 Update --enable-jni to enable PSK, define WOLFSSL_JNI 2015-10-15 13:27:43 -06:00
78bdaedad2 Fixed issues in example server with uninitialized variable and resume test. 2015-10-15 10:18:26 -07:00
74e981093d fix merge conflict misses on alpn example letter change 2015-10-15 09:48:07 -07:00
d4f3419758 ALPN : add function to get in a server the list of supported protocols sent by the client. 2015-10-15 14:59:35 +02:00
32171997e7 Updated Rowley CrossWorks README.md for enabling FREESCALE_MMCAU. Added sample benchmark output with MMCAU enabled. 2015-10-14 19:19:13 -07:00
fdab3943be Added throughput benchmarking for client/server examples and added helper script "scripts/benchmark.test". Added example client option: "-B <num>" Benchmarking throughput. Added example server options: "-B <num>" Benchmark throughput, "-e" Echo data, "-i" Loop / Accept multiple connections. Cleanup of the include.am for examples. Cleanup of tcp_connect with DTLS enabled. Cleanup of the valid socket checking. Cleanup trailing whitespace. 2015-10-14 19:13:45 -07:00
ee8537fb6d Merge branch 'master' of https://github.com/wolfssl/wolfssl 2015-10-14 20:53:30 +02:00
d6cb203210 fix tlsx library proper build with NO_SERVER or NO_CLIENT 2015-10-14 11:16:22 -07:00
f2959168c9 Merge branch 'read-key' 2015-10-14 10:50:37 -07:00
56af895c68 make sure pubkey in ecc private key has size 2015-10-14 10:48:37 -07:00
d2cc582939 fips related macros for configurations using AES direct and DES ECB 2015-10-14 10:51:39 -06:00
52cdf85e26 move touch fips files for non fips distribution to autogen.sh for cleaner autoconf handling 2015-10-14 09:18:05 -07:00
d7772dd254 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-10-13 15:00:59 -07:00
a0a4386504 fix alpn example client merge command options 2015-10-13 15:00:53 -07:00
1359674fa7 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-10-13 14:52:20 -07:00
c0210491d9 don't try to defragment handshake messages outside the handshake 2015-10-13 14:21:39 -07:00
dfc733a304 switch example client max fragment arg to -F to make -L open on both client and server 2015-10-13 14:13:12 -07:00
67861bb222 Added crypto hardware mutex capabilities to wolfcrypt/wc_port. Added optional define "WOLFSSL_CRYPT_HW_MUTEX" to override use of hardware mutex. Enabled hardware mutex protection for Freescale MMCAU. Cleanup of the AES FREESCALE_MMCAU implementation to use wc_AesEncrypt/wc_AesDecrypt wrappers. Fixes #154. 2015-10-13 12:36:24 -07:00
10f5154389 ALPN : add option to continue in case of client/server protocol mismatch (like OpenSSL) 2015-10-13 09:38:40 +02:00
8595890c51 change sniffer decode data to pointer to pointer 2015-10-12 18:10:24 -07:00
3a0e25637e Merge branch 'mdk5-update' 2015-10-12 09:33:10 -07:00
c7264ff6d7 enable ecc with stunnel 2015-10-12 09:25:54 -06:00
2840fb47ef fix bounds check of handshake messages in TLS 2015-10-11 21:32:13 -07:00
d18339f5f7 Merge pull request #162 from kaleb-himes/master
Modified scope for ChangeDirToRoot
2015-10-10 09:32:56 -07:00
7364884a69 Modified scope for ChangeDirToRoot 2015-10-09 22:04:41 -06:00
ea1040cfe4 Merge branch 'fix-asn' 2015-10-09 17:00:48 -07:00
92c222798e Merge branch 'master' of https://github.com/kaleb-himes/wolfssl into fix-asn 2015-10-09 16:56:53 -07:00
91e7d433f8 expected_configure test fixes. Squash for review.
fix for --enable-certservice --disable-md5

fix for --disable-md5 --enable-fortress

update macros to reflect referencing code logic for --disable-asn fix
2015-10-09 16:05:36 -06:00
cf605f32dd Merge branch 'MDK5-3.6.9' of https://github.com/kojo1/wolfssl into mdk5-update 2015-10-09 10:39:15 -07:00
6e61a095c7 Added new Xcode project for test suite. Added Xcode workspace file. Added library support for iOS and OS X targets. Updated project files to Xcode 7. Updated README. Added shared user_settings.h. Cleanup of the test.h "ChangeDirBack" function. Cleanup of duplicate ChangeDirBack() code in testsuite.c and adjusted for new Xcode build location. 2015-10-09 10:25:40 -07:00
7e5be2f313 fix resource cleanup in testsuite and wolfcrypt test 2015-10-09 10:57:55 -06:00
266936db93 fix warning on Windows 2015-10-09 16:00:53 +02:00
826034315e Merge branch 'master' of https://github.com/wolfssl/wolfssl 2015-10-09 15:23:41 +02:00
bf3b0a228d add support for Application-Layer Protocol Name (RFC 7301) in the TLS extensions 2015-10-09 15:18:41 +02:00
26ca093c76 fixed errno with errno.h 2015-10-09 09:49:38 +09:00
7e1d0ccb11 removed CyaSSL-Full project, replaced with wolfSSL-Full 2015-10-08 16:10:42 +09:00
78ed5d96df echoclient for MDK fgets 2015-10-08 15:39:14 +09:00
e242d3eea3 Change project name cyassl to wolfssl 2015-10-07 14:55:34 +09:00
a80653f464 Eliminate local copies of examples/test/benchmark fro example projects 2015-10-07 14:52:18 +09:00
504d3337de Catching up updated mMDK middleware packs 2015-10-07 14:46:11 +09:00
cc2460b4a0 refactor options in test.h, eliminate cyassl_MDK_ARM.[ch] coupler functions, cert_data.[ch] 2015-10-07 14:39:23 +09:00
cdc3d61b97 Refactoring WOLFSSL_MDK, MDK5 to KEIL_TCP_NET, KEIL_FS 2015-10-07 14:06:19 +09:00
9f6b07aec2 Merge branch 'defrag' 2015-10-06 20:21:06 -07:00
a7ae5155ce fix defragment of handshake messages in TLS 2015-10-06 20:18:55 -07:00
6d49c308b7 require WOLFSSL_OPENSSL_TEST set for scripts/openssl.test to run, also disable in ipv6 test case because openssl s_server doesn't accept ipv6 2015-10-06 17:02:31 -07:00
adb9d27e9e Fixed release distribution of the Rowley IDE example. Added section in README for required library functions. 2015-10-06 16:11:28 -07:00
16ba3138a1 Added support for the Rowley CrossWorks for ARM IDE. Added new "WOLFSSL_ROWLEY_ARM" setting define. Added a sample solution (wolfssl.hzp) for building the WolfSSL library and sample test/benchmark applications. The sample applications are written for the Freescale Kinetis K64, but easily be customized for any Kinetis or further extended to support other ARM micro-controllers. 2015-10-06 10:45:46 -07:00
3dda2965bd fix bash bracket string contains 2015-10-05 15:43:38 -07:00
750302dd2e Merge branch 'script-openssl-test' 2015-10-05 15:34:38 -07:00
236df9257b add openssl script suite test
switch to bash for 'read -ra <<<' for now
2015-10-05 15:33:37 -07:00
d6a5bfb53d Revert "revert defragment of handshake messages in TLS"
This reverts commit 6d21d328fb.
2015-10-05 15:31:39 -07:00
f06c08718c bump version for sniffer release 2015-10-05 10:14:07 -07:00
b1c5f3b299 add show every cipher suite to examples/client 2015-10-02 16:26:20 -07:00
8c24fa1e66 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-10-02 15:59:15 -07:00
50d340c261 Merge branch 'sniffer-recovery' 2015-10-02 15:58:57 -07:00
0f6f404938 delete debugging breadcrumb 2015-10-02 15:55:40 -07:00
ad51d4ba09 make sure fast invmod lowers result in too big case 2015-10-02 15:38:22 -07:00
9fe5401630 sniffer skips partially received record when fixing an ACK fault 2015-10-02 15:13:02 -07:00
1237b35bb8 add option to sniffer to try to restart decoding after an ACK fault 2015-10-02 11:26:45 -07:00
27450aca7d increment explicit iv and zero nonce even on GCM/CCM failure 2015-10-02 11:24:32 -07:00
10276944d3 return value on AES CCM encrypt 2015-10-02 11:40:47 -06:00
08771518a7 Merge branch 'freertos' 2015-10-02 10:28:10 -07:00
67e08e48c5 Github Issue #130 (XMALLOC_USER, NO_WOLFSSL_MEMORY) with FREERTOS 2015-10-02 10:56:19 -06:00
dd262fe939 fix on AES CCM nonce size 2015-10-01 17:42:03 -06:00
8f32604542 Merge branch 'vxworks' 2015-09-29 11:59:29 -07:00
3d110516f4 fixup WORKBENCH autoconf 2015-09-29 11:57:52 -07:00
628a4e5ac2 Merge branch 'master' of https://github.com/lchristina26/wolfssl into vxworks 2015-09-29 11:55:06 -07:00
350fe922b9 Update README.md 2015-09-29 12:53:43 -06:00
914ed31ff2 Update README.md 2015-09-29 12:53:10 -06:00
389bbc94eb Update README.md 2015-09-29 12:51:03 -06:00
f4250006b3 Merge branch 'vxworks' 2015-09-29 11:49:32 -07:00
46cd3a915b VxWorks README 2015-09-29 12:49:24 -06:00
208f0eeb8e fix trailing whitespace 2015-09-29 11:48:46 -07:00
799dfadf44 Merge branch 'master' of https://github.com/lchristina26/wolfssl into vxworks 2015-09-29 11:46:18 -07:00
7c9490844a fix formatting for vxworks commits 2015-09-29 12:22:03 -06:00
3c2712da31 vxworks compatibility additions 2015-09-29 12:12:35 -06:00
d94321ecfb Merge branch 'freertos-tcp' 2015-09-28 16:16:14 -07:00
b403036c77 Merge branch 'FreeRTOS_TCP' of https://github.com/kojo1/wolfssl into freertos-tcp 2015-09-28 16:13:21 -07:00
77b1649638 Merge branch 'idea' 2015-09-28 15:25:43 -07:00
28912621ec switch idea invmod too big to subtraction 2015-09-28 15:24:32 -07:00
292e05dc75 switch memset / memcpy to XMEM in src and wolfcrypt/src proper 2015-09-28 11:37:00 -07:00
a8b5c57dd2 make sure external tests have a valid cipher 2015-09-28 09:47:59 -07:00
cab37ef24e Merge https://github.com/lfcrypto/wolfssl into idea 2015-09-28 09:32:55 -07:00
c7193672a5 fix IDEA modular inverse, add CBC tests with random values 2015-09-27 15:05:01 +02:00
0a530c1b70 #pragma worning for Visual Studio 2015-09-26 08:49:03 +09:00
f450ac0684 settings.h: GenSeed for test only option 2015-09-26 08:03:49 +09:00
ab269b277e Merge branch 'master' into idea 2015-09-25 15:48:00 -07:00
8c01c8d8e1 Merge branch 'master' of https://github.com/lfcrypto/wolfssl into idea 2015-09-25 15:42:31 -07:00
ac79effa42 Merge branch 'ca-continue' 2015-09-25 15:40:04 -07:00
71576aef14 fix bad computed values 2015-09-25 23:52:08 +02:00
3451ab2f5d Merge branch 'CA_continue' of https://github.com/NickolasLapp/wolfssl into ca-continue 2015-09-25 14:18:16 -07:00
0c95a5e940 Adding FreeRTOS TCP support, FREERTOS_TCP option 2015-09-25 10:51:35 +09:00
ae6b4be135 fix idea_mult
move reg and tmp buffer to word32
2015-09-24 22:55:11 +02:00
42d94a0f7f wolfssl.com now requires ECDHE or static RSA 2015-09-24 12:19:38 -07:00
465622d4e0 wolfssl.com now uses old chacha-poly, detect for external test 2015-09-24 12:13:01 -07:00
755e844f05 CA parsing to continue after failure when possible 2015-09-24 11:14:07 -06:00
edc9a24681 fix hard tabs in icerts/1024/include.am 2015-09-24 10:03:27 -06:00
86bdeaf490 add new 1024 certs/keys to include.am 2015-09-24 10:00:32 -06:00
86d74efc37 return IdeaCbc{Encrypt/Decrypt} error code 2015-09-24 08:13:43 +02:00
9848701dab make sure options.h captures user CFLAGS now too 2015-09-23 16:27:48 -07:00
dc1baabd27 update wolfssl website ca 2015-09-23 16:19:55 -07:00
d669fc28c2 add idea benchmark, cleanup 2015-09-23 14:42:48 -07:00
aa3780f6b0 add example 1024-bit server/CA certs and keys for testing 2015-09-23 13:37:34 -06:00
c4e1bdcb29 Merge branch 'master' of https://github.com/lfcrypto/wolfssl into idea 2015-09-23 12:03:58 -07:00
2ded079e95 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-09-23 11:21:38 -07:00
7393b0eea0 allow user to free x509 object in static case (no op) 2015-09-23 11:20:40 -07:00
31439e2baa remove unneeded tmp from plain DES cbc decrypt 2015-09-23 11:01:22 -07:00
f68400da40 add IDEA cipher (ECB and CBC mode)
add support of SSL_RSA_WITH_IDEA_CBC_SHA cipher suite (SSLv3, TLS v1.0 and TLSv1.1)
2015-09-23 16:16:39 +02:00
207859cde8 fix typos in README, ssl.c 2015-09-22 15:40:46 -06:00
2c87cfa983 initialize CFLAGS in configure as empty, remove erasing it when hardening CFLAGS 2015-09-17 16:36:53 -07:00
8ba207e477 Release 3.6.8 prep 2015-09-16 14:57:43 -07:00
6d21d328fb revert defragment of handshake messages in TLS 2015-09-16 11:57:58 -06:00
329e6a6207 update the example server and echoserver to correctly generate the DTLS cookie 2015-09-15 17:23:52 -07:00
578ea44e1e check on return values of QSH 2015-09-15 17:46:45 -06:00
764fadeb3b add sanity checks to internal RsaVerifySign inputs 2015-09-15 16:16:04 -07:00
e0bdaf8146 Merge pull request #138 from kaleb-himes/VS_fix
fix for sniffer link error in vcproj
2015-09-15 14:40:25 -07:00
7858d412b9 fix for sniffer link error in vcproj 2015-09-15 15:34:47 -06:00
906cc84f94 Merge pull request #137 from kaleb-himes/VS_fix
fix link error in sniffer
2015-09-15 14:07:10 -07:00
2a3863058f fix link error in sniffer 2015-09-15 14:37:27 -06:00
797bcb6340 Fix Visual Studio warning/errors 2015-09-15 12:13:11 -07:00
cdacb50336 Merge pull request #136 from NickolasLapp/master
Fix GCC Compiler warning, fix stunnel naming conflict
2015-09-14 18:56:06 -07:00
9bdcd59338 fix dtls cookie leak 2015-09-14 17:13:16 -07:00
d70e0422a7 Fix naming conflict in stunnel psk_XXX_callback 2015-09-14 18:00:38 -06:00
274be55679 Fix GCC compiler warning 2015-09-14 17:57:24 -06:00
9ceb89b114 Merge branch 'dtls-cookie' 2015-09-14 16:13:49 -07:00
b62e5d57fe 1. improved DTLS cookie generation, uses HMAC and parts of Client Hello
message
2. add function to set the cookie Hmac key
3. removed server state for hello verify message
2015-09-14 16:05:30 -07:00
98603b1547 fix +keygen +dsa +opensslextra -filesystem build 2015-09-14 14:18:25 -07:00
097250755a Merge branch 'ludovic' 2015-09-14 13:30:10 -07:00
91fdc67571 fix cert_ext statics not used with sep 2015-09-14 13:25:15 -07:00
de04565c1e fix cert_ext test memory leak 2015-09-14 13:15:53 -07:00
7391fc7e89 Merge https://github.com/lfcrypto/wolfssl into ludovic 2015-09-14 13:01:53 -07:00
d8905a0110 move XSTRTOK to STRING_USER where it belongs 2015-09-14 13:00:26 -07:00
10165e966c remove OPENSSL_EXTRA requirement 2015-09-14 21:14:01 +02:00
0ecd6435e9 remove CERT_EXT from enable-bump
cortex test are only done if openssl extra is set
2015-09-14 18:45:14 +02:00
08d1f33d30 remove snprintf
use strtok thread safe version
add output size for sanity checks in some functions
2015-09-12 23:17:53 +02:00
de64092a70 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-09-11 15:53:26 -07:00
dbe08087e9 Merge branch 'ludovic' 2015-09-11 15:52:44 -07:00
989f5ffb24 handle gmtime failures 2015-09-11 15:49:55 -07:00
29270d88a4 remove another stdio.h assumption, breaks NO_FILESYSTEM 2015-09-11 15:13:47 -07:00
c0f15b9326 DEBUG_WOLFSSL can't assume C standard headers, fix 2015-09-11 14:12:27 -07:00
088467d312 fix autoconf with new certext files 2015-09-11 14:10:11 -07:00
5654d4beee fix no_filesystem with certext 2015-09-11 14:04:40 -07:00
21cf0e437e add --enable-cryptonly build option 2015-09-10 16:24:25 -07:00
a53d05c8bd updated sniffer statistics for missed sessions and reassembly buffer usage 2015-09-10 11:06:48 -07:00
4785cbf616 fix opensslextra with debug without filesystem 2015-09-09 12:47:45 -07:00
b6b385fe11 fix opensslextra with no filesystem 2015-09-09 12:38:28 -07:00
80c5fecdb2 user CA adds use same policy as Context Verify for verification 2015-09-09 12:19:53 -07:00
5bbcda3c79 add TLS signature fault checks indpendent of build options, plugins, callbacks, etc 2015-09-09 09:59:10 -07:00
108679970a allow cert_ext to work w/o openssl extra 2015-09-08 16:44:13 -07:00
2f70f27adc Merge branch 'master' of https://github.com/lfcrypto/wolfssl into ludovic 2015-09-08 14:46:53 -07:00
7e2906de52 add new sniffer APIs, framework 2015-09-08 14:31:32 -07:00
10ad789c6f set inital value in NTRU rsa_test 2015-09-08 10:27:44 -06:00
25f24ed34f fix to build on Fedora 32bits and Windows 2015-09-08 08:49:29 +02:00
b685dfb2e7 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-09-07 10:23:46 +02:00
d2ea6f7ef0 Add support for :
- PEM public key loading
  - set/get KeyUsage in CSR and X.509
  - set/get SKID in CSR and X.509
  - set/get AKID in X.509
  - set/get two Certificate Policies OID in X.509
2015-09-07 09:51:21 +02:00
6041b117d6 fix fips-check freertos help string 2015-09-04 11:05:53 -07:00
58a36566cb allow for DTLS1.0 version record headers for client hello and hello verify 2015-09-03 15:35:01 -07:00
6dd85815bf added freertos build to fips-check script 2015-09-03 14:05:09 -07:00
316302cec3 fixes SRP documentation. 2015-09-03 12:21:22 -03:00
12bf9b4430 fixes conflict with reserver names used as variable names;
adds NOT_COMPILED_IN error when trying to use SRP with a hash not compiled in.
2015-09-03 12:06:56 -03:00
c34082b7ba updated fips-check script with proper win versions 2015-09-01 17:57:37 -07:00
aaaebf6213 pkcs7 rolling back static values to auto 2015-09-02 08:59:04 +09:00
be5ac590b7 Freescale: Add KSDK FreeRTOS build, using fastmath 2015-09-01 15:37:11 -06:00
e604ca1d3c Merge branch 'kojo-mdk5' 2015-09-01 13:35:47 -07:00
ebea6145f6 change generice define to more specific for pkcs7 digest size 2015-09-01 13:33:26 -07:00
31500d0d12 Merge branch 'MDK5' of https://github.com/kojo1/wolfssl into kojo-mdk5 2015-09-01 11:35:58 -07:00
05bef43c1e bump dev version 2015-09-01 11:31:46 -07:00
3b468bc1ef internal.c: declaration after exection statements 2015-09-01 09:40:08 +09:00
efb06e2559 rolling back internal.c for master conflict 2015-09-01 09:29:44 +09:00
928d2b7caa add build optional skip crl next date if missing 2015-08-31 17:02:15 -07:00
a56a8a22e5 add idrect dev time 2015-08-31 15:02:41 -07:00
6969453d06 allow CRL with NO_FILESYSTEM 2015-08-31 14:57:23 -07:00
553fc283c9 add Buffer Load CRL 2015-08-31 14:23:50 -07:00
f8445193a4 add idirect generate seed 2015-08-31 13:55:56 -07:00
1368ae1fb1 add SHA512 signature creation 2015-08-31 13:51:52 -07:00
756cff4cb4 add Rsa Public Key To Der, non FIPS mode 2015-08-31 13:29:22 -07:00
cf38d1c022 detect SetSSL_CTX requirements and error out early 2015-08-31 11:57:30 -07:00
2f3b7d3567 mdk portability, fixed declaration after executing statements 2015-08-30 13:38:52 +09:00
18383d286a fixed uITRON, uTKernel option 2015-08-30 10:25:09 +09:00
dc68832dba TIRTOS Semaphore_create error check 2015-08-30 08:36:33 +09:00
122b2e9753 pkcs7: rolling back to static values 2015-08-29 22:02:23 +09:00
f5ee6d616c Merge remote-tracking branch 'origin/MDK5' into MDK5 2015-08-29 21:24:44 +09:00
cf80a6f639 pkcs7: avoid initial value of pointer to auto value for embedded compilers 2015-08-29 21:22:30 +09:00
572a8cfc11 hmac.c: fixed warning, statement is unreachable 2015-08-29 18:04:57 +09:00
6ff9f96809 inline to INLINE 2015-08-29 14:07:55 +09:00
539bc81682 blake2b: declaration after execution statements, for embedded compiler 2015-08-29 12:30:40 +09:00
2a141f6a82 ed25519: fixed initial data to auto values for embedded compilers 2015-08-29 12:08:52 +09:00
df2216d092 Fixed file access mode 2015-08-29 11:32:30 +09:00
e459bb2e23 Fixed file access mode 2015-08-29 11:08:07 +09:00
1ba1acb8f7 Merge branch 'nlapp' 2015-08-28 16:08:16 -07:00
10b2cf4f2f turn on ecc with Stunnel 2015-08-27 17:44:55 -06:00
42428f10ad Remove uneccessary defines from compat. layer 2015-08-27 13:27:33 -06:00
d336268caa Turns on PSK when compiling for stunnel 2015-08-27 12:57:43 -06:00
565f2ce1d7 Stunnel with psk compiles against 2015-08-27 12:57:43 -06:00
0b72b28b13 reorganize InitSSL. Rename forcekeep->cacheOnly. Free instead of decrement 2015-08-27 12:57:43 -06:00
122b94ea6e Stunnel needs sni and tlsext 2015-08-27 12:57:43 -06:00
1787e04b23 Enum should be int, not byte 2015-08-27 12:57:43 -06:00
90ad5336fc Fix uninitialized warning 2015-08-27 12:57:43 -06:00
900edc04e5 Adding sni to mimic openssl functionality 2015-08-27 12:57:43 -06:00
30067d4f59 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-27 11:36:43 -07:00
5e26a5c8fc fix alt_ecc_size exptmod with negative numbers 2015-08-27 11:18:06 -07:00
5e95740d93 Freescale: Add KSDK Bare Metal build, TRNG support 2015-08-27 11:45:40 -06:00
1ee27f7a04 Merge branch 'ecc-keygen' 2015-08-27 10:32:21 -07:00
3814871f71 merge pull request #82, suite b ecc key-gen 2015-08-27 10:31:22 -07:00
3c614b5ba7 manual merge pull request #83, ALT_ECC_SIZE fix 2015-08-27 10:18:00 -07:00
e8c17ed2bb fix defrag member layout, add comments 2015-08-26 12:13:07 -07:00
f2db01bef2 fix defrag memory errors 2015-08-26 12:10:10 -07:00
cc216d5079 InitSuites to disallow stream ciphers for DTLS sessions 2015-08-26 14:16:13 -04:00
5a1a076131 update README(.md) typo 2015-08-26 12:27:28 -04:00
7d067dfec6 defragment the handshake messages in TLS 2015-08-25 21:09:19 -04:00
cb51432dc8 update README.md ia32 register note 2015-08-25 16:11:26 -07:00
e02f177c10 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-08-25 14:58:23 -07:00
9ee88b54f8 add ia32 fastmath register note about --without-pic and fPIE 2015-08-25 14:58:05 -07:00
bd65b06459 remove name decorator from wolfcrypt error reporting function prototypes 2015-08-21 21:49:43 -07:00
5ce39e147d clean up sniffer packet overlap issue 2015-08-20 18:54:16 -07:00
a93aa8972e fix sniffer crash with reassembly processing 2015-08-20 18:54:16 -07:00
a47af476d1 add REAMDE note about static cipher suites disabled and compiler error detection 2015-08-20 17:11:00 -07:00
d49499df4c Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-20 13:40:12 +02:00
66e91beb2d Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-20 13:22:30 +02:00
2f1836d985 fix snifftest bsd build 2015-08-19 16:52:16 -07:00
dfb8d34d0b 3.6.6 release notes 2015-08-19 14:18:48 -07:00
b3aa98147a fix description text for enable-sslv3 configure option 2015-08-19 12:29:20 -07:00
c6ef29ac4c Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-19 08:18:05 +02:00
33595a0b3c Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-19 08:08:49 +02:00
b0d90918f9 fix issue between certificate fragmentation and secure renegotiation 2015-08-18 21:00:17 -07:00
c1d663f22d Merge branch 'kojo-ti' 2015-08-18 12:32:25 -07:00
3b9ec2c119 add extern C to hash.h 2015-08-18 12:31:34 -07:00
15995d1b2c Merge branch 'TI_hash' of https://github.com/kojo1/wolfssl into kojo-ti 2015-08-18 12:27:57 -07:00
82aaff9e43 Eliminate hash free in DoRound with non-TI case 2015-08-18 11:22:51 +09:00
5cffea7aac clean static analysis report in cert fragmentation 2015-08-17 17:27:29 -07:00
049a4c6460 fix C++ mode warnings 2015-08-17 16:47:39 -07:00
c812379924 fix shadow decl in DsaKeyToDer() 2015-08-17 14:39:40 -07:00
6376736129 HashFree for TI hash memory leak 2015-08-15 16:51:23 +09:00
4fb0519b37 clean up GCC and VS build warnings 2015-08-14 15:06:12 -07:00
09b2da799f Merge pull request #125 from kojo1/MDK4
MDK4 name change
2015-08-14 14:59:25 -07:00
34ac1a33f3 Freescale: Add support for KSDK (FREESCALE_KSDK_MQX) 2015-08-14 15:21:23 -06:00
a4cbc3b943 fix google external test w/o ecdhe 2015-08-14 12:58:00 -07:00
8374a461d0 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-14 12:50:14 -07:00
7fa4302a80 disable static PSK cipher suites by default 2015-08-14 12:49:30 -07:00
d12308a053 SendCertificate fragments the message based on max_fragment setting for TLS and DTLS. 2015-08-14 11:06:42 -07:00
0f9f4ea7e0 add macro blocks to make it easier on embedded devices and fix declaration after executable code 2015-08-14 09:58:44 -06:00
e6ab7de923 TI hardware hash driver memory leak in dummy rounds 2015-08-14 07:44:13 +09:00
8cc9c62911 skip past the pad and mac when skipping a finished message in DTLS 2015-08-13 14:29:56 -07:00
b5ac17539e Merge pull request #127 from kaleb-himes/master
Dynamic Libraries for windows-fips project
2015-08-13 12:46:50 -07:00
fb35dc61db disable static rsa cipher suites in non max strength build by default 2015-08-13 11:05:07 -07:00
6e2dcdbb73 reset to vs 2010 toolset in .sln file 2015-08-13 12:04:06 -06:00
e9f63f0e17 Release-32 working 2015-08-13 12:03:42 -06:00
838a873cf1 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-08-13 10:20:47 +02:00
4eafff0c21 Merge pull request #126 from NickolasLapp/scan_build_errs
Changes to remove scan-build warnings when compiling with full build
2015-08-12 16:42:47 -07:00
deb5d8ab08 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-12 16:41:41 -07:00
46e7e9acf9 disable SSLv3 by default 2015-08-12 16:39:13 -07:00
f6c5231e68 fix shadowed declaration on power pc (shadowed asn.h Oid_Types enum) 2015-08-12 14:30:12 -06:00
910fd79a1d Changes to remove scan-build warnings when compiling with full build 2015-08-12 13:58:23 -06:00
2b35a8242e MKD file reference path 2015-08-12 19:49:30 +09:00
3af082de39 Remove unused file 2015-08-12 17:58:49 +09:00
9af596dfff add config files 2015-08-12 17:55:18 +09:00
6b1e351d4d Merge branch 'master' into MDK4 2015-08-12 17:30:47 +09:00
30f6bc1e27 MDK4, wolfSSL name change 2015-08-12 16:45:40 +09:00
b0bc9e0f0d Remove hard tabs, update DLL-x64-Release 2015-08-11 15:14:19 -06:00
ffa75d40e0 disable static dh cipher suites in non max strength build by default 2015-08-11 12:25:40 -07:00
4cf78a2dab Merge pull request #124 from jay/fix-mixed-declarations
fix mixed declarations by moving them to their block start
2015-08-10 14:31:05 -07:00
241e375b34 add wc_encrypt and hash to the MYSQL cmake 2015-08-10 13:30:57 -06:00
d367f7ac93 Add wc_encrypt.c to the iOS Xcode project files. 2015-08-10 11:59:19 -07:00
c4cbcff6e0 remove hard tabs 2015-08-10 10:27:24 -06:00
51b9d2bf9d DLL-Debug-x64 working 2015-08-10 10:25:00 -06:00
4b74e96542 remove stdio.h from dsa.c 2015-08-10 09:34:16 -06:00
e179da07d0 fix mixed declarations by moving them to their block start
In Visual Studio <= 2012 C99 mixed declarations aren't supported.
2015-08-10 01:54:25 -04:00
106abb873f skip the sanity check on a duplicate change cipher spec message in DTLS mode, they are allowed 2015-08-08 23:57:02 -07:00
e16ff73273 Added wc_encrypt.c and other *.c files. 2015-08-08 10:12:05 +09:00
8b0d7cc8da don't let sniffer try to parse handshake messages after the handshake has completed, new error for secure renegotiation not supported 2015-08-07 15:48:04 -07:00
0cd893a51b Freescale: Use new I/O where applicable 2015-08-07 16:22:31 -06:00
a80777179b update MPLABX README 2015-08-07 14:36:47 -06:00
5d40c5f566 Rename RNG to WC_RNG for Freescale, add NO_OLD_RNGNAME define to completely remove RNG type usage 2015-08-07 11:53:19 -06:00
ca41d52f68 Merge pull request #123 from lchristina26/master
move MBED GenerateSeed() due to duplicated code
2015-08-07 09:52:19 -07:00
490caf87c3 Merge pull request #122 from kaleb-himes/no-md5-with-hc128
fix for test failure with --enable-hc128 --disable-md5
2015-08-07 09:52:07 -07:00
d3c8ff3488 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-08-07 09:42:07 -07:00
50fd2538ff Merge branch 'srp' 2015-08-07 09:41:44 -07:00
0a037d39ff fix srp request; forcezero, check mp_init(), no leaks 2015-08-07 09:37:22 -07:00
9397b9e10f move MBED GenerateSeed() due to duplicated code 2015-08-06 16:40:36 -06:00
08111ab59f fix for test failure with --enable-hc128 --disable-md5 2015-08-06 10:43:55 -06:00
716ab20afa Update MPLABX project files, define WOLFSSL_HAVE_MIN in MICROCHIP_PIC32 2015-08-06 10:25:47 -06:00
590f3e1ca0 Merge pull request #113 from lfcrypto/wolfssl
add check of ret value
2015-08-06 09:01:12 -07:00
aa0852bf71 Fix Curve25519 test 2015-08-06 08:51:41 -07:00
d050c10581 add support for curve 25519 and Ed25519 in OpenSSH
refactor curve25519 and Ed25519 code
fix warning in PEM_xxx_mem_xxx functions
2015-08-06 08:51:41 -07:00
865d88ce3e rewind tool version 2015-08-05 15:55:05 -06:00
42a50d2caf Release x64 tested and working 2015-08-05 15:41:46 -06:00
f45ef26977 DLL-x64 and Debug-x64 removed x86 constraint 2015-08-05 11:28:07 -06:00
92b725dfd7 DLL-Debug-32 tested and linking properly 2015-08-05 11:16:21 -06:00
ba83b54616 Merge branch 'master' into srp 2015-08-04 15:49:04 -07:00
f30a11f5ce Merge branch 'kaleb' 2015-08-04 15:33:05 -07:00
ae397a0b7c Merge branch 'fix_logic' of https://github.com/kaleb-himes/wolfssl into kaleb 2015-08-04 15:30:27 -07:00
ca66b59815 Merge pull request #120 from kaleb-himes/update_window_projects
updated existing projects to include wc_encrypt.c
2015-08-04 15:28:18 -07:00
b15e5b1747 updated existing projects to include wc_encrypt.c 2015-08-04 15:31:40 -06:00
121a24ba15 update logic for ECC FASTMATH KEY-GEN and COMP-KEY 2015-08-04 15:11:01 -06:00
114e3edc27 add srp example to test.c 2015-08-04 16:02:44 -03:00
690cb14746 makes sure random values are safe. 2015-08-04 15:31:18 -03:00
12b8445153 adds key generation function callback option. 2015-08-04 13:36:58 -03:00
f31c32bea2 adds docs using doxygen style. 2015-08-04 01:07:24 -03:00
1d99bd3339 removes u from srp struct. 2015-08-04 01:07:24 -03:00
53224281d2 adds proof getter and verifier for both sides. 2015-08-04 01:07:24 -03:00
490d063dec adds key computation.
removes unnecessary fields from the srp struct.
2015-08-04 01:07:24 -03:00
ba0c75011b adds secret computation. 2015-08-04 01:07:24 -03:00
6ee788277f adds tests to SrpSetPassword(), SrpSetVerifier(), SrpGetVerifier();
adds SrpGenPublic() and SrpSetPrivate() with unit tests;
fixes k with left pad at g;
adds new error SRP_CALL_ORDER_E to force the functions to be called in the right order.
2015-08-04 01:07:24 -03:00
6d5efccc55 finishes SrpSetPassword(), SrpSetVerifier(), SrpGetVerifier();
updates client_proof during SrpSetParams();
2015-08-04 01:07:24 -03:00
8b23b86659 Adds hash type directly inside SrpHash and removes temp hash from Srp struct. 2015-08-04 01:07:24 -03:00
119dd0250e fixes field types in SRP structure;
adds new memory allocation type (DYNAMIC_TYPE_SRP);
improves wc_SrpInit;
adds wc_SrpTerm(), wc_SrpSetUsername(), wc_SrpSetParams(), wc_SrpSetPassword();
2015-08-04 01:07:24 -03:00
dfa956d227 adds wc_SrpInit() with unit tests. 2015-08-04 01:07:24 -03:00
6d7b5bd2f8 adds srp files to build process. 2015-08-04 01:07:24 -03:00
daf01977a1 adds SRP client and server structures. 2015-08-04 01:07:24 -03:00
08959624f2 fix ed25519 with external hash functions 2015-08-03 15:30:07 -07:00
b330bca4b7 Merge pull request #114 from lchristina26/master
updates to FREERTOS settings
2015-08-03 10:59:36 -07:00
6c02a9acb7 Merge pull request #115 from kaleb-himes/master
re-format test-psk-no-id.conf add README
2015-08-03 10:56:42 -07:00
273a0dd4d5 re-format test-psk-no-id.conf add README 2015-08-03 11:04:18 -06:00
ad39c6137c Merge branch 'kaleb' 2015-08-03 09:33:40 -07:00
37ba6aeee7 fix psk no identify hint example logic 2015-08-03 09:32:51 -07:00
5adda01e98 Merge https://github.com/kaleb-himes/wolfssl into kaleb 2015-08-03 09:19:45 -07:00
f8feb339fc updates to FREERTOS settings 2015-08-03 10:13:42 -06:00
281ba1c4c5 Fix Curve25519 test 2015-08-03 09:05:02 +02:00
409126a97c add support for curve 25519 and Ed25519 in OpenSSH
refactor curve25519 and Ed25519 code
fix warning in PEM_xxx_mem_xxx functions
2015-08-01 18:28:18 +02:00
303fb2bb62 Option for no PSK Id Hint and test cases
update comment file reference
2015-07-31 22:00:28 -06:00
2ade35c65a expose have 128bit type to options flags 2015-07-31 16:43:59 -07:00
3fb10301f6 fix build 267, case 743 blak2b w/o md5 2015-07-31 16:29:35 -07:00
16b0120028 fix build 267, base 1361 fp ecc w/ no memory 2015-07-31 11:57:35 -07:00
409b044ec7 fix build 267, case 1299 ocsp + iopool (no stdlib) 2015-07-31 11:44:09 -07:00
c14398cb7a fix build 267 case 1197, pwdbases -des3 warning 2015-07-31 11:40:14 -07:00
59e894d6a4 fix build 267 case 1044, dhe + psk w/o aes 2015-07-31 11:35:16 -07:00
75b9d809b3 fix build 267 case 932, certgen w/o sha 2015-07-31 11:24:34 -07:00
1470789ac6 fix build 483 with wc_encrypt 2015-07-31 11:13:05 -07:00
342b19496d Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-30 16:46:27 -07:00
cc604d23be fix psk no server hint sanity check 2015-07-30 16:45:31 -07:00
5d7388f879 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-07-30 16:38:06 -07:00
95db44def3 remove autogen clone of fips repo; pre-push runs fips-check if fips directory exists 2015-07-30 16:33:14 -07:00
97853dc3c2 keep resume script from endless loop on bad startup 2015-07-30 16:31:14 -07:00
27371263b7 move variable declaration to beginning of block 2015-07-30 14:47:52 -07:00
bcaa8cde06 fix pre-push calling fips-check with unimplemented option 2015-07-30 14:32:16 -07:00
e1513c30d2 added a pre-push hook. move fips test to pre-push check 2015-07-30 14:24:45 -07:00
2cbb30745e bump dev version 2015-07-30 12:59:17 -07:00
78cc76b3cd move DES oneshot APIs out of des.[hc] 2015-07-30 12:51:33 -07:00
011fdc1103 move AES oneshot calls out of aes.[hc] 2015-07-30 12:42:25 -07:00
6d172fce32 hash.h should pull in types before checking defines 2015-07-29 14:40:57 -07:00
12ffa1b778 fix small stack with hash changes 2015-07-29 10:43:54 -07:00
b8fac462cd No oneshot Hash() in FIPS c files anymore 2015-07-28 16:55:58 -07:00
e97a60c647 move wc_Sha512/384 Hash() outside of sha512.[hc] 2015-07-28 16:41:32 -07:00
9d2b711796 add wc_Sha256Hash() outside of sha256.[hc] 2015-07-28 16:34:23 -07:00
2f3b7b05ba move wc_ShaHash() outside of sha.[hc] 2015-07-28 16:30:10 -07:00
480bab467d fix warning 2015-07-28 09:35:28 -07:00
388d023df6 put rsa non public enums back into c file for FIPS 2015-07-28 09:29:47 -07:00
8ff692b772 Merge pull request #109 from NickolasLapp/master
Fixed bug when getting PEM encoded sz of cert chain. Add idx check
2015-07-27 15:05:39 -07:00
38fb8caec8 restore FIPS des3 build w/o opensslextra 2015-07-27 14:56:26 -07:00
b85637e06b Fixed bug when getting PEM encoded sz. Add idx check 2015-07-27 10:43:49 -06:00
e363848ecc fix jenkins build #465 with kegen changes 2015-07-24 19:19:53 -07:00
4ba57a609c Merge branch 'ludovic' 2015-07-24 15:39:54 -07:00
0a975eaff9 fix valgrind warning mp_add_d 2015-07-24 15:34:56 -07:00
5780f4d5f7 stub notices. edited b64 encode size. err cert depth/sn 2015-07-24 16:30:16 -06:00
9038ea018a Freescale/RTCS fixes for io.c 2015-07-24 15:06:58 -06:00
45ef61e46f fix warnings 2015-07-24 12:43:26 -07:00
aaf7f63eef Merge https://github.com/lfcrypto/wolfssl into ludovic 2015-07-24 12:14:28 -07:00
9c2a85d9f6 fix compilation for 32 bits OS 2015-07-24 11:17:06 +02:00
78a936a4fd remove debug info
fix potential memory leaks
comments the size used
2015-07-24 10:58:17 +02:00
8d7d803e58 add wc_DerToPemEx to restore compatibility API with wc_DerToPem 2015-07-24 07:50:29 +02:00
bf4be3f02b comment updates only for crl-revoked.test 2015-07-23 21:54:52 -06:00
ddb638d020 Merge branch 'crl-revoked' 2015-07-23 16:40:30 -07:00
9f7209b484 add new certs to include.am 2015-07-23 16:37:37 -07:00
1a0a9de9c6 changes post review
crl-revoked dash compliant. revoked-cert has unique fields

new print statements
2015-07-23 17:05:25 -06:00
03a50c128a update WIN IDE readme 2015-07-23 15:27:46 -07:00
0054fe4a25 Merge branch 'master' of https://github.com/wolfSSL/wolfssl 2015-07-23 14:37:58 +02:00
8951d72f03 Merge branch 'master' of https://github.com/wolfSSL/wolfssl
Fix DSA key generation
2015-07-23 13:24:20 +02:00
1bb76a54c9 Merge branch 'master' of https://github.com/kaleb-himes/wolfssl 2015-07-22 15:14:00 -06:00
f9def1431f Adding support for crl testing via make check.
includes modifying crl.pem/revoked
    Adding a revoked server cert/key pair.
    Adding a script to test with a revoked cert (scripts/crl.test)
2015-07-22 15:08:29 -06:00
5fe7a1b89a have fastmath use negative error codes for consistent <0 error detection 2015-07-22 13:32:56 -07:00
4cdece20fb change SetCurve return type to int, as used 2015-07-22 11:52:42 -07:00
e1a2458bb4 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-07-22 11:25:47 -07:00
c169a113ae for Windows build, clean up warnings and a couple variable declarations 2015-07-22 11:20:45 -07:00
3732d31955 Fixed file cleanup in gencrls, finished support for crl.test update crls sign revoked cert 2015-07-22 10:37:24 -06:00
f73c6a5ea9 new crl test using server and client instead 2015-07-22 10:05:39 -06:00
d2de4719eb added way to gen revoked without running renewcerts 2015-07-22 09:31:23 -06:00
349edd40c2 Add support for OpenSSH ssh-keygen tools
refactor existing code
2015-07-22 14:18:07 +02:00
27202912e8 Adjusted gencrls and renewcerts to add a revoked server cert 2015-07-21 17:17:41 -06:00
e7dd5c4b8f add setting client cipher list 2015-07-21 16:55:42 -06:00
4743dfe813 add a uniquely, always revoked server-cert for testing 2015-07-21 15:35:24 -06:00
37211d4636 crl script initialize 2015-07-21 13:56:47 -06:00
8499f816c6 fix potential resource leaks 2015-07-21 11:10:28 -07:00
4916ae72bc custom release notes 2015-07-20 16:47:03 -07:00
922df2cfb3 allow bigger rsa key gen w/o sanity check error on invmod() 2015-07-20 16:08:55 -07:00
c50f6ba693 Merge pull request #105 from NickolasLapp/master
Changes to remove last warnings from Stunnel
2015-07-20 14:04:59 -07:00
03172818a1 Changes to remove last warnings from Stunnel 2015-07-20 14:37:57 -06:00
a0b907f0b3 Merge pull request #104 from NickolasLapp/master
Fix stunnel warning
2015-07-20 08:13:08 -07:00
a4c7b8eb07 version number to use with Lighttpd compatibility 2015-07-17 18:19:36 -06:00
6d619ade13 Fix stunnel warning 2015-07-17 17:28:17 -06:00
51f177fdb7 bump dev version 2015-07-17 15:41:51 -07:00
2d021489b3 fix SetMinDhKey_Sz() implementation defines 2015-07-17 15:37:15 -07:00
262f5f87cb remove auto timing resistant with stunnel 2015-07-17 14:52:03 -07:00
be54b40d94 Merge pull request #102 from NickolasLapp/master
Configure options to allow stunnel to use fastmath
2015-07-17 14:50:19 -07:00
cb3873ea03 Configure options to allow stunnel to use fastmath 2015-07-17 15:05:04 -06:00
7d44ed3989 Merge pull request #97 from jschanck-si/libntruencrypt
Use updated drbg ntru functions from stable libntruencrypt api
2015-07-17 14:18:27 -06:00
bae8c6fd50 add openssh ./configure build 2015-07-17 09:14:58 -07:00
d443c03dcc Merge pull request #101 from kaleb-himes/fortress_requires_aes
fortress relies on aes disallowed pair
2015-07-17 08:48:37 -07:00
11f1159e30 fortress relies on aes disallowed pair 2015-07-17 09:30:25 -06:00
101aac5720 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-16 16:47:17 -07:00
9b81e41856 merge pull request 96 2015-07-16 16:46:37 -07:00
5409c171e4 In wolfSSL_BN_mod_word, typecast error code to a unsigned output like in emulated function. 2015-07-16 16:38:48 -07:00
a0a8a52f6c Merge branch '98' 2015-07-16 14:55:55 -07:00
e61022b498 Merge https://github.com/lchristina26/wolfssl into 98 2015-07-16 14:52:57 -07:00
9c7fd0b15e Merge pull request #99 from kaleb-himes/eccencrypt_without_aes
Ecc_encrypt + hkdf requires aes
2015-07-16 14:51:44 -07:00
e698c12530 ecc_encrypt + hkdf requires aes 2015-07-16 15:31:36 -06:00
85907397d3 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-07-16 15:15:55 -06:00
c6003c33bb fix disable filesystem errors 2015-07-16 14:19:11 -06:00
53fb9188e7 Use ntru functions from stable libntruencrypt api
ntru_crypto_external_drbg_instantiate has been renamed
to ntru_crypto_drbg_external_instantiate in the 1.0.0
release of libntruencrypt. Made various other small changes
to build against libntruencrypt.
2015-07-16 15:43:50 -04:00
5a00e4b72b use full ivSz with ecc encrypt 2015-07-16 10:18:08 -07:00
7f155d64d5 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-15 16:36:58 -07:00
84a5087bd7 resume script cleans up /tmp ready file 2015-07-15 16:35:23 -07:00
8cb1949203 fix some build warnings from VS 2015-07-15 16:27:50 -07:00
ffb73bc3d5 fix no newline in openssl/ecdsa.h 2015-07-15 16:25:49 -07:00
8eaac3de47 fix clang redef 2015-07-15 15:01:48 -07:00
c1dfa16f91 Merge pull request #95 from lchristina26/enable_mcapi_with_libz
New AES structure size increased, update mcapi context to encompass
2015-07-15 14:56:32 -07:00
bffecfbc2d New AES structure size increased, update mcapi context to encompass 2015-07-15 15:33:49 -06:00
3ad3334bce Merge branch 'master' of github.com:wolfssl/wolfssl 2015-07-15 13:57:10 -07:00
1c5eb291e8 Merge branch 'nick' 2015-07-15 13:56:56 -07:00
0b3bc289ae fix enable stunnel help alignment 2015-07-15 13:44:09 -07:00
763e9370bf WOLFSSL_STUB log for debug message 2015-07-15 13:48:31 -06:00
db932acca5 Merge https://github.com/NickolasLapp/wolfssl into nick 2015-07-15 11:05:06 -07:00
55677aa5ae fix BLAKE2b cyassl compat header includes 2015-07-15 11:56:14 -06:00
4b1e87f9d0 update the wolfSSL FIPS VS IDE project files and README 2015-07-14 21:17:20 -07:00
96cf16848c Stunnel Base Commit 2015-07-14 14:56:26 -06:00
7fba0d25f9 variable declaration location for VS and avoid empty struct 2015-07-14 14:33:00 -06:00
67fd0ebbd4 wolfssl enter msgs on lighty stubs and create a new BN when given a null argument 2015-07-13 17:26:04 -06:00
bd81a3336f Merge branch 'master' of ssh://github.com/wolfSSL/wolfssl 2015-07-13 11:34:04 -06:00
1750fe698e Name change to LICENSING 2015-07-13 11:32:59 -06:00
df8b48cd0f NTRU suites from earlier code 2015-07-11 12:52:22 -06:00
e6d8ab0d45 add enable lighty 2015-07-09 09:14:33 -06:00
ea7f955bd4 Merge branch 'lighty' 2015-07-08 17:35:41 -06:00
e41ebcf5d4 remove c++ comments, switch ASN1 string back to first spot 2015-07-08 17:33:15 -06:00
1383a0f1b5 Uptodate wolfssl works with lighttpd-1.4.x (one warning), working on making lighttpd-1.4.35 work. 2015-07-08 16:39:52 -06:00
d68eb12ee6 use macros in TLSX Write with QSH 2015-07-07 22:10:26 -06:00
dafb5a80e7 recommit invalid free w/o smallstack 2015-07-07 09:23:02 -07:00
14723b7e65 QSH (quantum-safe handshake) extension 2015-07-07 09:55:58 -06:00
01da9aacb0 Merge branch 'ludovic' 2015-07-06 17:13:01 -07:00
acdeb3d536 Merge https://github.com/lfcrypto/wolfssl into ludovic 2015-07-06 17:09:41 -07:00
304982a597 Big Endian System ChaCha20 counter, auto tests added for ChaCha20 counter 2015-07-06 15:29:53 -06:00
702dbcf570 align return code, coding style (tab-> space, line with 80 char), curve_idx validity 2015-07-05 20:10:43 +02:00
88fa36e3c0 fix enable dsa w/o opensslextra or keygen 2015-07-03 20:53:55 -07:00
1a853d277d fix opensslextra w/o ecc ssh 2015-07-03 09:58:42 -07:00
9b0c1499c3 fix opensslextra w/ dsa additions 2015-07-03 09:53:48 -07:00
e2689a0656 fix opensslextra small stack invalid free 2015-07-03 09:50:16 -07:00
6355bb4daf remove C++ comments 2015-07-02 13:52:37 -07:00
b183bdc009 fix ALT_ECC_SIZE in ssh mode 2015-07-02 13:48:58 -07:00
d2f34c11d3 Merge branch 'master' into ssh 2015-07-01 16:37:33 -07:00
ca01cebd28 adds SNI abort option to turn SNI mandatory for WebSocket (RFC6455 page 17).
@see WOLFSSL_SNI_ABORT_ON_ABSENCE and the xxxSNI_SetOptions() functions for further details.
2015-07-01 19:21:18 -03:00
e121d01206 TLSX and SNI code maintenance:
* improves docs;
 * fixes indentation;
 * Extracts TLSX_New() from TLSX_Push();
 * Replaces TLSX_SNI_Append() with TLSX_SNI_New();
 * Adds missing STK_VALIDATE_REQUEST() in TLSX_WriteRequest();
 * Moves TLSX_SetResponse() to the right position inside TLSX_SNI_Parse().
2015-07-01 19:11:13 -03:00
74245dcc1c bump dev version 2015-07-01 14:43:58 -07:00
9452d6cfb4 don't leak on bad verify decoding with extended API 2015-07-01 13:28:10 -07:00
e164173562 fix null deference potential on new API 2015-07-01 12:51:19 -07:00
1d663d3bff merge conflict 2015-07-01 12:24:11 -07:00
afde172f28 added buffer version of CertManagerLoadCABuffer 2015-07-01 11:42:54 -07:00
d6047736e9 added GPL headers to the unit test driver files 2015-07-01 11:12:54 -07:00
91b3959063 fix uninitialized decoded cert in CertManagerVerify() 2015-06-26 11:56:21 -06:00
8b324b94e9 removed some unused code due to an always true comparison 2015-06-25 11:21:33 -06:00
61c50b26d0 makes wolfSSL_SNI_GetFromBuffer() return SNI_UNSUPPORTED instead of BUFFER_ERROR for SSL v2.0 client hello buffers. 2015-06-25 12:48:11 -03:00
7fcbee54e4 Merge pull request #81 from tisb-vikram/master
add IAR compiler option to ignore EWOULDBLOCK/EAGAIN warning for TI-RTOS
2015-06-24 21:51:46 -07:00
0525575fbf add IAR compiler option to ignore EWOULDBLOCK/EAGAIN warning for TI-RTOS 2015-06-24 17:41:02 -07:00
36748fb62b Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-06-24 11:21:38 -06:00
5ba35b1f64 force HAVE_HASHDRBG enabled in settings.h unless WOLFSSL_FORCE_RC4_DRBG flag set 2015-06-24 11:16:18 -06:00
39015f51ab Merge pull request #80 from kojo1/TI_temp
Resolving type mismatches in TI-hash/crypt
2015-06-24 07:34:18 -07:00
309aadd3f3 TI-des3.c, type mismatch 2015-06-24 14:12:40 +09:00
1feac72b62 check InitMutex 2015-06-24 11:47:58 +09:00
a910daa886 fixed arm-none-eabi-gcc type check on AESIVSet, AESKey1Set 2015-06-24 11:06:38 +09:00
c6e2591711 Remove wornings 2015-06-23 17:39:15 +09:00
d334b05596 Merge pull request #79 from kojo1/TI_crypt
missed CCM Init in wc_xxxHash
2015-06-22 17:29:22 -07:00
57128a82ab update README.md for v3.6.0 2015-06-22 15:35:21 -06:00
4b5cc6ebb3 add hash.c to the iOS project files 2015-06-22 13:21:35 -06:00
9889dfb2fb README edits 2015-06-22 11:31:02 -06:00
075370a39c update automake includes to limit which files are added from the IDE sub-directories 2015-06-20 14:57:31 -07:00
b54dc09971 updated fips-check to cover all builds 2015-06-19 22:21:27 -07:00
45a3838433 missed wolfSSL_TI_CCMInit in wc_xxxHash 2015-06-20 10:59:08 +09:00
48a42e1a75 prepare release 2015-06-18 16:58:59 -07:00
eee50cf42e update rpm version 2015-06-18 11:21:13 -07:00
fe39cd34b9 bump version 2015-06-18 11:18:51 -07:00
86403a270a Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-18 11:13:29 -07:00
6cad1949b4 if NO_SHA don't run external script tests 2015-06-18 11:12:35 -07:00
34ed64c5ce Merge branch 'leah' 2015-06-18 11:04:44 -07:00
52072ab5e4 Merge https://github.com/lchristina26/wolfssl into leah 2015-06-18 11:00:34 -07:00
f47398fff9 Merge branch 'tisb' 2015-06-18 10:50:13 -07:00
63e2b29a08 update ti-rtos package for pull request file renames 2015-06-18 10:49:08 -07:00
183b54a10d Merge https://github.com/tisb-vikram/wolfssl into tisb 2015-06-18 10:39:02 -07:00
d49a35597f Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-18 10:16:06 -07:00
ba63bc0d3e Merge branch 'kojo-ti' 2015-06-18 10:15:53 -07:00
fa9d6428fc add hash.c to vcprojs 2015-06-18 10:14:55 -07:00
9e7cb81d5a Merge branch 'TI_hash' of https://github.com/kojo1/wolfssl into kojo-ti 2015-06-18 09:05:13 -07:00
ae749f727d IAR_ARM block in settings.h 2015-06-18 14:27:52 +09:00
7ef85d1894 Add RestorePos 2015-06-18 14:27:15 +09:00
4e546d92d9 BuildMD5/SHA for GetHash, RestorePos 2015-06-18 14:25:48 +09:00
e61592b9d8 Added ECC test certificate for having keyUsage without digitalSignature. 2015-06-17 13:46:09 -07:00
7d9a1ccf42 allow storage of out of order zero length DTLS handshake messages 2015-06-17 12:37:10 -07:00
11f0ae47af fix redeclaration of RsaKeyToDer() with FIPS 2015-06-17 09:51:38 -06:00
19cad21a46 fix bug when defragmenting out of order DTLS handshake messages 2015-06-16 21:49:01 -07:00
55de33f493 Merge branch 'TI_hash' of https://github.com/kojo1/wolfssl into kojo-ti 2015-06-16 11:38:04 -07:00
67dc53f84e Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-16 11:30:14 -07:00
a62589f3fc add wc_ecc_check_key(), import validate option too 2015-06-16 11:29:27 -07:00
8fa258c657 fix scan-build warning 2015-06-15 17:52:30 -07:00
86a9b1734a TI hash option control in hash.c 2015-06-16 09:30:56 +09:00
f2d9eb2994 1. Disable randomized base address on FIPS test project.
2. Fixed setting for disabling whole program optimization on file fips.c
in the windows project file.
2015-06-15 15:47:40 -07:00
f358aab845 update TI-RTOS build scripts to add hardware accelerator lib build 2015-06-15 14:58:53 -07:00
c40dc11ce3 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-06-15 09:46:13 -07:00
c98fde3d43 updated wolfssl fips project files so test harness will run. added a readme 2015-06-15 09:46:07 -07:00
5976296a77 removed a comment from random.c 2015-06-15 07:37:05 -07:00
a634d0e345 including hash.h in hash.c 2015-06-15 12:28:05 +09:00
d976256816 TI-RTOS adjustment in test.h 2015-06-15 10:13:14 +09:00
c2818ed87c DIGEST_SIZE fixed in Sha256GetHash 2015-06-15 09:59:34 +09:00
89d39a6073 GetHash in SendBuffered, BuildTlsFinished. HashFinal in FreeHandshakeResources. 2015-06-15 09:46:16 +09:00
203786dc25 add ecc keygen validate option 2015-06-12 13:11:07 -07:00
6d9fece9f4 bump dev version 2015-06-12 09:39:03 -07:00
89d9accc4d switch user ticket encrypt ctx to WOLFSSL_CTX 2015-06-10 18:13:13 -07:00
47af6459d8 add user context to session ticket encrypt callback 2015-06-10 16:32:43 -07:00
53bf8ed7cb fix scan-build warnings 2015-06-10 15:24:24 -07:00
ce583552ce fix resumte.test script warning 2015-06-10 14:22:35 -07:00
f76af05abf change autoconf scripts to /bin/sh, no -i on ping for portability 2015-06-10 14:11:36 -07:00
44db140076 move client-test.sh to scripts/google.test 2015-06-09 08:51:55 -07:00
8afa6fe08f Merge pull request #74 from NickolasLapp/master
Fixing bug in wc_ecc_sig_size not handling error code
2015-06-09 08:42:22 -07:00
0426adaa1b document current scripts 2015-06-09 08:37:55 -07:00
d9ccc51f58 Fix TI driver API to ROM_xxx 2015-06-09 07:02:21 +09:00
13b0d632b2 add WOLFSSL_VXWORKS setting 2015-06-08 14:44:02 -07:00
9f8862888e Fixing bug in wc_ecc_sig_size not handling error code 2015-06-08 14:40:15 -06:00
067f11ff34 Added a known answer test inside the HashDRBG that is called when
creating a new instance of a DRBG, at reseed time.
Added a check that the freed DRBG's state actually gets cleared.
2015-06-05 14:46:48 -07:00
e461bc72b8 curve25519 and ed25519 low memory 2015-06-05 15:39:37 -06:00
96a298018d simplify padcheck compare 2015-06-05 09:42:10 -07:00
7433dcb95c Adding hash.c 2015-06-05 13:26:32 +09:00
7584af3d36 Adding hash.c 2015-06-05 13:23:54 +09:00
670c325f29 Merge pull request #72 from wolfSSL/smallstack
dummy buffer replacement in timing resistant functions.
2015-06-04 11:38:50 -07:00
defd1f9f94 add configure option for wolfSSL JNI, --enable-jni 2015-06-02 21:58:23 -06:00
13185574d2 Merge branch 'EWARM' into TI_hash 2015-06-01 20:07:16 +09:00
fe3253e618 IAR/EWARM wolfSSL name change 2015-06-01 20:02:20 +09:00
644f7a4cdb ti-hash.c included in wc_port.c 2015-06-01 14:32:36 +09:00
3d41595ed4 internal.c: refactoring TimingPadVerify to reduce stack usage:
--- variable dummy replaced with ssl object (~250 bytes saved)

internal.c: refactoring VerifyMac to reduce stack usage:
--- variable dummy replaced with ssl object (~250 bytes saved)
2015-05-30 10:44:14 -03:00
ed65565390 integer.c: refactoring mp_exptmod_fast to reduce stack usage:
--- variable M moved to the heap (512 bytes saved)
2015-05-28 18:29:17 -03:00
a7a00a4bd5 remove trailing spaces. 2015-05-28 18:29:17 -03:00
77fe4f3a2e Fixes #71. Disable SHA works with TLS, PWDBASED, testing. 2015-05-28 10:25:41 -07:00
e4580c3461 adding hash.h to include.am 2015-05-28 20:50:22 +09:00
d67168d539 aes.c cleaned. ti-has.c, ti-aes.c, ti-des3.c are included in each respective algorithm source file. 2015-05-28 20:40:53 +09:00
902799ef75 adding ti hash/crypt to include.am 2015-05-27 19:34:11 +09:00
559404137e moving xxxGetHash to hash.c 2015-05-27 18:37:19 +09:00
b4a6ed1d7f Merge pull request #68 from tass-belgium/master
Improved support for PicoTCP on embedded devices
2015-05-26 13:47:45 -06:00
67a93a5999 fixes trailing white spaces.
adds port mapping in Vagrantfile.
2015-05-22 20:09:01 -03:00
aaa1fe813a Added aes.c/des3.c 2015-05-22 09:55:49 +09:00
8fbcd7d74b added upper bound check on DH min bit size for configure forced default 2015-05-21 10:30:54 -07:00
64602d1969 added check for allowed minimum DH key size 2015-05-21 10:11:21 -07:00
5bcce85de4 md5.h cleaned 2015-05-21 18:34:51 +09:00
ce8b4e0cdc Added ti-hash.c 2015-05-21 18:26:35 +09:00
d24c7f070c files cleaned 2015-05-21 18:12:43 +09:00
527013ec1e corrected NL code 2015-05-21 14:16:09 +09:00
b5654092ec Added Md5GetHash for BuildCertHashes 2015-05-21 13:42:02 +09:00
1a315fd89e Initial TI crypt/hash 2015-05-21 13:31:02 +09:00
50a80bbcd2 update Windows FIPS preprocessor flags in project file 2015-05-19 14:37:03 -07:00
9a10210a2a replaced always-true comparison in PrintSessionStats with preprocessor checks 2015-05-19 09:52:30 -07:00
bbec7011d4 add session ticket hint interval setter 2015-05-18 13:15:13 -07:00
8b52330877 add key name compare for session ticket callback example 2015-05-18 09:48:15 -07:00
e730aa571c add sanity checks to user session ticket encrypt callback 2015-05-18 09:29:25 -07:00
8ff17b66f3 add session tickets to echoserver example too 2015-05-18 09:13:34 -07:00
ebf73fab5d Merge branch 'tickets' 2015-05-15 16:13:09 -07:00
cedd41432c fix windows session ticket warnings 2015-05-15 16:10:38 -07:00
74cc2274fa add tiket key cleanup to help valgrind 2015-05-15 15:30:29 -07:00
2212381925 add session ticket key returns for reject and use but create 2015-05-15 14:58:16 -07:00
f6d12bfc37 initial server side session ticket support 2015-05-15 12:51:44 -07:00
660e0b868b added check for window's api's min macro 2015-05-14 11:40:23 -07:00
dcd6602293 misc.c can now only be included once 2015-05-13 15:10:05 -07:00
5e083eafb4 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-05-13 14:55:16 -07:00
4e482a348e wrapped the min() inline functions with better preprocessor checks 2015-05-13 14:53:11 -07:00
48034b56c5 update the VS solution and project files for FIPS build 2015-05-13 13:10:03 -07:00
b6e540b005 new VS solution and project files for FIPS build 2015-05-12 16:36:38 -07:00
69b4b37e86 modify ossl-extra HMAC testcase to use longer password 2015-05-12 16:16:44 -07:00
0b1ea204b7 cleaned up Windows build warnings 2015-05-12 11:59:07 -07:00
513b43baae update CUSTOM_RAND_GENERATE to not include dev random files 2015-05-11 12:03:53 -07:00
dde4b29462 add handshake done callback with ability to end connection 2015-05-09 11:04:47 -07:00
d2c53c3229 reduce wolfcrypt test stack use, curve25519 2015-05-07 15:25:20 -07:00
d4982bb988 add dsa verify input check, not used at TLS or default 2015-05-07 15:10:33 -07:00
8f8fb3834a reduce benchmark stack use, reduce max variable sizes 2015-05-07 14:24:58 -07:00
4fe04c6bed detect build cases where external script test case doesn't make sense 2015-05-07 12:50:27 -07:00
914a27ad9f Merge branch 'kaleb' 2015-05-07 12:33:44 -07:00
357ab1df14 Merge https://github.com/kaleb-himes/wolfssl into kaleb 2015-05-07 12:19:34 -07:00
c52b7160e9 fix ipv6 external test case 2015-05-07 12:15:58 -07:00
173b1147b5 updated certs 2015-05-07 12:21:50 -06:00
7a90f60a9c add rsafunction mp_exptmod_e debug message 2015-05-07 10:33:23 -07:00
08b6e66ea8 add external site script test to make check 2015-05-07 10:02:43 -07:00
fc24885f17 updated subject matter for server-ecc.pem 2015-05-06 11:57:32 -06:00
20851c62f9 modify Encrypt and Decrypt switch statements for single return 2015-05-05 14:45:43 -07:00
1571ced095 update python example to TLSv1.2 against example server 2015-05-03 10:19:02 -07:00
6db33051d3 better detection of invalid ecc keys 2015-05-01 14:44:43 -07:00
46eca67336 make certs_test buffers static in case multiple files need 2015-04-30 17:14:04 -07:00
114fc18c33 add alignment to benchmark key/iv 2015-04-30 17:10:33 -07:00
1771fea17d fix ecc_make_key cleanup on rng failure 2015-04-30 16:50:02 -07:00
162214924f simplify build verify hashes to one spot 2015-04-30 09:22:25 -07:00
ada5ff876a allow example client to do resume with scr 2015-04-29 17:06:57 -07:00
c04de5ba82 add resume to example client benchmarking 2015-04-28 18:04:11 -07:00
47ba1368c2 add wolfssl website ca, go daddy class2 CA 2015-04-28 14:15:31 -07:00
d927aa4334 add resume test to example server and script test 2015-04-28 12:21:54 -07:00
96bb6e8cd7 Improved support for PicoTCP on embedded devices 2015-04-23 12:35:05 +02:00
1e9647023c add snifftest script check to make check 2015-04-18 08:35:47 -07:00
99a9d221bc in sniffer, free handshake resources in the right order 2015-04-17 13:42:08 -07:00
7536cec0d6 fix github issue #65, ignore sys options 2015-04-17 09:23:43 -07:00
281decae46 fix github issue #65, don't undef with arg to options.h 2015-04-16 10:36:51 -07:00
05b8e1274d add WOLFSSL_SESSION_STATS and optionally WOLFSSL_PEAK_SESSIONS which will slow down servers under load 2015-04-15 13:17:33 -07:00
3a6f08b04a update old CYASSL comment 2015-04-14 13:48:57 -06:00
1f8701540d change SESSION_STATS to PRINT_SESSION_STATS, will add WOLFSSL_SESSION_STATS 2015-04-14 12:35:24 -07:00
ceeb3d007e fix github issue #65, don't output (N)DEBUG to options.h 2015-04-13 12:01:21 -07:00
7e9a5fb8ee remove poly/chacha from fips build 2015-04-12 11:01:16 -07:00
7d213011c1 fix fips make dist for misc.c 2015-04-11 08:47:13 -07:00
ecfcc533c8 add library version getters 2015-04-10 10:38:31 -07:00
d40fbd58f4 fix pkcs7 warning 2015-04-10 10:37:25 -07:00
c1adae2fe4 moved FOURK_BUF constant to top of file 2015-04-10 08:06:59 -07:00
edd6b91b56 on send dhe server_key_exchange only do hash(es) required 2015-04-09 09:58:16 -07:00
86f2b9a98f turn off DTLSv1 functions for disable old tls 2015-04-08 13:29:25 -07:00
0722e79627 Merge branch 'kojo-intel' 2015-04-08 11:38:27 -07:00
b9767fdac6 Merge branch 'IntelAsm' of https://github.com/kojo1/wolfssl into kojo-intel 2015-04-08 11:23:48 -07:00
b59d922d51 on send echde server_key_exchange only do hash(es) required 2015-04-08 11:22:22 -07:00
9ae434a87b Merge branch 'Staging' of https://github.com/kojo1/wolfssl into Staging 2015-04-08 14:00:07 +09:00
97f3336fae Merge branch 'master' of https://github.com/wolfSSL/wolfssl into Staging 2015-04-08 13:56:23 +09:00
3ff5e54025 rollback files 2015-04-08 13:46:27 +09:00
079c9908a3 Merged with 3.4.8 2015-04-08 11:09:57 +09:00
6728a18d7c cpuflag ADX for Intel MULX in asm.c, BMI2 in sha256/512.c 2015-04-08 10:14:45 +09:00
af0204a069 Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-04-07 16:02:25 -07:00
ea585e9b19 Updated iOS readme. Turned off unused wolfCrypt options in iOS FIPS build. 2015-04-07 16:00:12 -07:00
2c73fa20a5 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-04-07 14:58:25 -07:00
cf95bc23bb on process server_key_exchange only do hash(es) required 2015-04-07 14:57:40 -07:00
875ad2dc8e forced iphone os deployment version to 8.1 in FIPS project 2015-04-07 13:41:29 -07:00
b115e4d898 Merge branch 'IntelAsm' of https://github.com/kojo1/wolfssl into kojo-intel 2015-04-07 09:49:17 -07:00
015b68e6fb cpuflag BMI2 for Intel MULX 2015-04-07 10:21:26 +09:00
e17d452f9b Updated Xcode projects for missing headers 2015-04-06 16:12:50 -07:00
aef879dc20 Updated iOS FIPS project, bump version 2015-04-06 15:06:56 -07:00
98231f4504 Merge branch 'IntelAsm' of https://github.com/kojo1/wolfssl into kojo-intel 2015-04-06 11:43:12 -07:00
0519085c69 add SOCKET_PEER_CLOSED_E vs general SOCKET_E for case where peer closes underlying transport w/o close notify 2015-04-06 11:40:51 -07:00
4e6f619302 Merge pull request #46 from jay/add-dll-config-to-vcxproj
build: Add DLL configurations to wolfssl64.sln and all vcxproj files
2015-04-06 09:05:06 -06:00
d8a6d9cffc runtime cpuflag for Intel MULX, cleaned in tfm.c 2015-04-06 10:34:07 +09:00
3a372aebe3 Merge commit 'd67a031132b87fc01f0808f161eda0e3101dbba7' into IntelAsm 2015-04-06 10:22:33 +09:00
ebedd64c5f Merge commit 'b9aa7621e716267f310aec0010c5240270b75cce' into IntelAsm 2015-04-06 10:21:54 +09:00
d67a031132 fix scr gcm mode 2015-04-05 09:13:11 -07:00
a7d004e47d add sha512 sig_algo processing for server_key_exchange and cert_verify messages 2015-04-04 09:49:34 -07:00
44a3011328 fix STREAM_ALIGN consistency 2015-04-03 13:25:51 -07:00
e39abffc5e add GNU ld bug error and solution 2015-04-03 12:11:29 -07:00
10f853ae4d adjustment to chacha for big endian 2015-04-03 12:19:40 -06:00
523775fcd6 updated the iOS readme 2015-04-03 09:54:15 -07:00
b1316796f9 allow CTX set tmp dh w/o asn and certs too 2015-04-02 11:54:16 -07:00
7552764fbb turn off chacha on big endian 2015-04-02 11:34:17 -07:00
9437a3a303 fix tirtos distcheck 2015-04-02 11:26:55 -07:00
d2c816f322 fix github issue #63, intelasm checkin broke MMCAU sha256 2015-04-02 10:52:58 -07:00
ee4b063b42 remove double define 2015-04-02 10:01:09 -07:00
a54c916c8f fix chacha on bigendian, touchups 2015-04-02 09:40:22 -07:00
e1beca3e60 fix with ecc w/o dh functions 2015-04-02 08:14:48 -07:00
b9aa7621e7 Intel MULX run time check in tfm.c 2015-04-02 15:42:38 +09:00
09310a853d Merge branch 'ti' 2015-04-01 20:09:38 -07:00
2fbab2f8d6 Merge https://github.com/tisb-vikram/wolfssl into ti 2015-04-01 20:06:20 -07:00
327a5c6dc2 added compile time check for Max Strength that all the requirements aren't disabled 2015-04-01 19:38:03 -07:00
4a5912c754 fix tirtos build for wolfssl name change 2015-04-01 16:52:11 -07:00
ad29c262d4 use Seconds APIs instead of MYTIME APIs for TI-RTOS 2015-04-01 16:51:54 -07:00
50e829ea79 when keeping peer cert, alt names were getting lost for the peer name check 2015-04-01 15:36:55 -07:00
afbd517838 fix issue with --enable-maxstrength --disable-ecc losing AES-GCM 2015-04-01 14:32:17 -07:00
2b5de9bd15 move MAX_STRENGTH and IPHONE in settings.h per pattern 2015-04-01 14:14:56 -07:00
b5a1cd186f Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-04-01 13:39:30 -07:00
3039d16e09 1. HAVE_AEAD and HAVE_PFS should be set in internal.h, not CFLAGS
2. Added WOLFSSL_MAX_STRENGTH as option in settings.h for non-autoconf
3. When selecting max-strength cipher suites, ECDHE is only dependent on
   ECC, not DH
2015-04-01 13:35:13 -07:00
8dd1afb49c have ./configure error out on maxstrength + sniffer 2015-04-01 12:30:46 -07:00
869aeee6cb allow sniffer play nice in ecc build 2015-04-01 12:14:48 -07:00
11f65346bc Merge branch 'master' of github.com:wolfssl/wolfssl 2015-04-01 12:04:29 -07:00
cc804b110f allow example client to talk with echoserver in ecc mode w/o switch 2015-04-01 12:03:27 -07:00
5ecbe14d2c Added --enable-maxstrength configure build to only
allow TLSv1.2, PFS, and AEAD ciphers.
2015-04-01 11:55:49 -07:00
34700642fa Merge pull request #47 from jay/ignore-vs-files
Ignore Visual Studio Intellisense files
2015-04-01 10:52:35 -06:00
5ed451a29d Merge branch 'master' of github.com:wolfssl/wolfssl 2015-04-01 09:39:10 -07:00
3abf1952c8 fix leanpsk default changes 2015-04-01 09:37:41 -07:00
1d4187e168 add local struct tm for XGMTIME with TIME_OVERRIDES, fixes issue #55 2015-04-01 10:02:02 -06:00
3aeedcf092 fixed --enable-debug issue on Intel MULX, asm.c 2015-04-01 16:19:29 +09:00
b8b13ad9e9 build: Revert using MSBuild property files to auto-detect platform toolset
Prior to this change I had added a .props file for each .vcxproj to
use MSBuild's $(DefaultPlatformToolset) as the the default for
$(PlatformToolset). Typically that configuration allows for the
appropriate toolset to be used no matter which version of VS2010+
the wolfssl64.sln and project files are opened in. Problem is when an
MSBuild was used from the command line to build the solution it got the
$(DefaultPlatformToolset) from a property file based on the solution
header (currently "Format Version 12.00" which maps to Visual Studio
2012) instead. Another side effect was it set the VisualStudioVersion
to 11.0 (n - 1; n in this case 12.0) which was incorrect.

To remedy the above this change reverts back to the old PlatformToolset
method where the v110 toolset (Visual Studio 2012) is specified in every
configuration in every vcxproj. The user will have to specify explicitly
a different toolset to override it (either via command line or the GUI)
if they are not using VS2012.

VS2010 example:
msbuild -p:Configuration="Debug" wolfssl64.sln -p:PlatformToolset=v100
2015-04-01 02:05:15 -04:00
748c5ac128 update configure help strings for AESGCM and DH 2015-03-31 16:23:28 -07:00
d84ff83689 fix leanpsk w/ new defaults 2015-03-31 15:55:39 -07:00
a5f42cc9ca fix opensslextra time shadow on some systems 2015-03-31 13:56:12 -07:00
5319eb8f38 fix github issue #56, have tls layer use time_overrides for ticks if available and not using explicit user_ticks 2015-03-31 13:41:10 -07:00
24102eb95f on x86_64 enable sha512, ecc, and increase max_bits by default 2015-03-31 13:28:49 -07:00
175fd5ce17 updated rpm/spec.in 2015-03-31 10:24:57 -07:00
00b335d71a Merge branch 'master' of github.com:wolfSSL/wolfssl 2015-03-31 09:54:27 -07:00
0458e21211 1. In the sniffer, replace call to strnlen with strlen and
accounted for size differences (fixes issue #60)
2. fixed overrun with long SNI names in hello messages
2015-03-31 09:51:55 -07:00
a24a22670c fix configure help string for arc4, chacha, poly1305 2015-03-31 09:42:32 -06:00
1c19b67885 update lib version 2015-03-30 13:07:59 -07:00
8588bb8b10 fix README typo 2015-03-30 12:52:59 -07:00
e917df4c59 prepare 3.4.6 release 2015-03-30 12:28:12 -07:00
c47acc7f24 Merge branch 'kojo-intel' 2015-03-30 11:11:28 -07:00
5d4c4d36e5 Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-30 11:07:11 -07:00
6243c6244a fixed ftm/Intel MULX -O0 option, register usage 2015-03-30 14:49:53 +09:00
69b4e982c8 fix tmp output files lingering around, remove() was called in bad spot 2015-03-29 19:32:48 -07:00
a895a606e7 sha256.c, eliminate platform dependent code. 2015-03-30 07:55:05 +09:00
3ca0bc0d66 fix windows warning 2015-03-29 14:31:09 -07:00
e73b76c8ca fix warning for compilers that don't understand bitfield size 2015-03-29 14:18:52 -07:00
500ee73be4 fix opensslextra set_timeout assumes long > int 2015-03-29 12:00:04 -07:00
c90977c7a5 fix windows build 2015-03-29 11:51:05 -07:00
4332acbeaa leanpsk doesn't need new gcm, poly, chacah defaults 2015-03-29 11:30:05 -07:00
b12a1bb2e3 switch pkcs12 encrypted key to 3des since arc4 now off by default 2015-03-29 11:10:21 -07:00
defc66f8db update client encrypt key to 2048 bit version 2015-03-29 10:53:21 -07:00
72be4d91d0 Merge branch 'kojo-intel' 2015-03-29 10:34:28 -07:00
fc4e0dfd6d Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-29 09:48:13 -07:00
57d766f1eb fixed ftm/MULX crash with --enable-debug, missing register def in inline asm destroying registers 2015-03-29 19:50:32 +09:00
bd5fc1712f fixed sha256/AVX1 crash with --enable-debug: missing register def in inline asm destroy register
rorx removed when non-AVX2 build . cleaned set_Transform
2015-03-29 19:39:03 +09:00
a83e85b91e Intel mulx/adcx/adox 2015-03-29 10:20:30 +09:00
02ffb563d6 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-28 14:59:20 -07:00
9ba62a2c52 allow examples build if no-sha but psk is on 2015-03-28 14:58:17 -07:00
d090721730 fix cycles per byte format is cycles > 100 2015-03-28 14:38:29 -07:00
27faf15678 add intelasm ./configure option 2015-03-28 14:34:39 -07:00
905e5801f8 fix benchmark format, GB/s won't misalign output 2015-03-27 21:36:35 -07:00
1fc3aa100b aes gcm/ccm require aes, duh 2015-03-27 21:30:27 -07:00
c9a0c9a797 fix some psk warnings 2015-03-27 19:20:31 -07:00
7f621f0637 Merge branch 'kojo-intel' 2015-03-27 15:42:55 -07:00
3b8009bfd4 Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-27 15:41:02 -07:00
32c9f00189 only alloc poly auth size if cipher suite needs it 2015-03-27 15:38:01 -07:00
e66aa9885f fix linux warning 2015-03-27 15:20:28 -07:00
c92e4bd908 remove save file 2015-03-27 14:32:44 -07:00
495fbe087e allow dh to be used w/o certs and asn 2015-03-27 14:28:05 -07:00
4b8583168b add our strsep to msvc build 2015-03-27 12:14:14 -07:00
ff11df2c14 enable chacha - poly by default 2015-03-27 11:22:42 -07:00
af1fd4719a enable gcm by default 2015-03-27 11:12:42 -07:00
c5f7c7ce57 enable dh by default 2015-03-27 10:23:15 -07:00
d655fb9d74 remove rc4 from default build 2015-03-27 10:17:22 -07:00
e4ac398d98 fix snifftest bad include on windows 2015-03-27 09:55:54 -07:00
ac4b6af823 make attrib align compiler neutral for sha256 2015-03-27 09:40:53 -07:00
ef6e08dc01 static to static const in sha256/512.c 2015-03-27 20:19:43 +09:00
9adbf41baa Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-26 14:28:16 -07:00
2935234484 Merge branch 'kojo-intel' 2015-03-26 14:27:12 -07:00
22afce8609 fixup intel avx request 2015-03-26 14:26:25 -07:00
d4a3e83582 fix OPENSSL_EXTRA + NO_MD5 build, fixes issue #26 2015-03-26 13:52:06 -06:00
0f4216360e fix StoreExternalIV and SetInternalIV for 3DES 2015-03-26 11:09:36 -07:00
b5cac58845 fix pwdbased + NO_MD5 build 2015-03-26 11:50:15 -06:00
4bd5dfe04a Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-26 10:28:53 -07:00
699aae25a0 remove extra comments 2015-03-25 18:09:06 -06:00
9ddf775afa Intel RdSeed, no Rand with hash DRBG 2015-03-26 09:08:02 +09:00
b99b91ed99 :Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-25 13:08:26 -07:00
3c55971ffa Removed Intel RD from Hash DRBG 2015-03-25 18:31:08 +09:00
994ffa96e0 sha256/512 removed static values for thread safe 2015-03-25 18:26:46 +09:00
4b5a34e378 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-24 11:57:37 -07:00
8f6d7a1ce7 rename ecc25519 to curve25519, less confusing with ed25519 now in play too 2015-03-24 11:56:40 -07:00
54b2f423bc clear unused variable build warning for OCSP 2015-03-24 11:16:50 -07:00
28109b01f7 Intel rdrand/rdseed: fixed error check, separated rdrand and rdseed 2015-03-24 15:13:11 +09:00
fe303c97c6 refactor CRL/OCSP lookup for peer cert. add option to allow checking all certs in peer cert chain. 2015-03-23 17:35:56 -07:00
572214ebb4 cpuid_flags, thread safe in sha256.c/sha512.c 2015-03-24 06:24:09 +09:00
66a65f84bd add a few ForceZeros to ecc fp 2015-03-23 11:44:33 -07:00
b841bc66c3 fix github issue #43, ecc_point uses DYNAMIC_TYPE ECC instead of BIGINT 2015-03-23 11:23:31 -07:00
7e3c310ec9 random.c, runtime switch between Intel RD and software version 2015-03-23 19:40:35 +09:00
2a2bf81c15 Merge branch 'master' of https://github.com/wolfSSL/wolfssl into IntelAVX 2015-03-23 18:43:01 +09:00
a5072d09ae Ignore Visual Studio Intellisense files 2015-03-23 02:21:34 -04:00
6e14362940 build: Add DLL configurations to wolfssl64.sln and all vcxproj files
- Remove extern from declspec in WOLFSSL_API macro.

- Add a property file to *.vcxproj so that $(DefaultPlatformToolset) is
available.

- Remove the specified platform toolset (VS 2012) in *.vcxproj.

This change allows the projects to use $(DefaultPlatformToolset) so that
they will be built using the default platform toolset for whatever
version of Visual Studio 2010+ that loads them.

- Add DLL Release and DLL Debug configurations to *.vcxproj except for
sslSniffer.vcxproj.

The sniffer uses internal library components that aren't exposed in the
wolfSSL DLL so it can only be built by linking to CyaSSL's static lib.

- Change intermediate output directory of obj files to
<current-dir-setting>\obj\.

The purpose of this change is to separate the output files from the
intermediate files because sometimes they can end up in the same dir.
2015-03-23 02:12:01 -04:00
9f2454fc78 Added a noop function wc_FreeRng() for when not using the HashDRBG to keep
the calls to InitRng and FreeRng simple and balanced.
2015-03-20 14:19:35 -07:00
0afd09d900 fix OPENSSL_EXTRA + NO_AES build 2015-03-20 11:25:22 -06:00
6c963c8d8e fix OPENSSL_EXTRA + NO_DES3 build 2015-03-20 10:59:54 -06:00
2e7d3a9121 cleanup ed benchmark 2015-03-19 13:00:20 -07:00
b54c29487d Merge branch 'jacob-ed' 2015-03-19 12:52:15 -07:00
478a8bb059 adjust ./configure format, change ed sign/verify to msg from hash 2015-03-19 12:48:32 -07:00
d89d524570 initial ed25519 implementation 2015-03-19 11:40:41 -06:00
5577555ce3 adjust test.c CERT_GEN for Freescale MFS examples 2015-03-18 18:21:52 -06:00
605ca8eaf6 update Freescale CodeWarrior project files to wolfSSL 2015-03-18 18:18:09 -06:00
8e82806c01 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-18 15:48:22 -07:00
555eb66292 fix github issue #40, export Base64_Decode, allow user to export Base64_Encode w/o other options 2015-03-18 15:47:19 -07:00
1d4cc928c6 fix Freescale MQX gmtime, cert generation 2015-03-18 16:15:56 -06:00
eb0d980779 Merge branch 'IntelAVX' of https://github.com/kojo1/wolfssl into kojo-intel 2015-03-18 14:39:54 -07:00
bb47dece1f Merge branch 'kaleb-master' 2015-03-18 14:27:53 -07:00
8e4b24d6e4 note msvc is complaining compiler 2015-03-18 14:27:07 -07:00
64d83c39a0 Merge https://github.com/kaleb-himes/wolfssl into kaleb-master 2015-03-18 14:25:31 -07:00
f7c99cec3e obey user ecc choices at TLS layer 2015-03-18 14:12:23 -07:00
f398b20bcc have ecc SetCurve() and CheckCurve() obey user ecc choices 2015-03-18 13:52:21 -07:00
0316dd2ef6 fix github issue #35, allow user to pick ecc curves with ECC_USER_CURVES and separate HAVE_ECCxxx defines 2015-03-18 13:36:07 -07:00
145123ff64 fix github issue #38, +sha512 -sha384 +aes-gcm redefinition 2015-03-18 11:44:39 -07:00
fd772bb434 MSVS warning fixes for all solutions 2015-03-18 10:42:10 -06:00
913240f6e4 add comments to RSA funcs, fix 80 char line limits 2015-03-18 10:06:48 -06:00
6b0bfa1b2c bump dev version 2015-03-17 14:59:01 -07:00
0b6c03ad06 snifftest.c needs socket.h included for AIX, john cyassl commit #a8803e1e16f23 2015-03-17 14:52:42 -07:00
eba98a9ec2 removed some AC_REQUIRE statements for macros, ksh, John cyassl commit #46d9037d26dc 2015-03-17 14:47:44 -07:00
e9cdfe84ce Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-17 14:26:43 -07:00
24ad168acf put memset back before ecdsa sig decode for failure case 2015-03-17 14:25:57 -07:00
16f0b603c3 a comment line cleaned 2015-03-17 21:56:12 +09:00
7d6f169e29 random.c for Intel rdseed/rdrand 2015-03-17 21:48:59 +09:00
77145a1f3e eliminate unsed macro in sha256.c 2015-03-17 21:46:57 +09:00
78375db73b sha256/384/512 for Intel AVX1/2 2015-03-17 21:19:31 +09:00
33e767a1b4 sniffer should fail a session missing a RSA key 2015-03-16 18:13:51 -07:00
db51c88e25 added cert status trace message to win resource file 2015-03-16 11:30:43 -07:00
4d62389389 added Certificate Status handshake message to sniffer 2015-03-16 11:19:16 -07:00
023f44bacf fix github issue #31, allow time overrides for all time uses 2015-03-13 12:44:25 -07:00
4c2bf4ea34 add SetMinVersion at context level 2015-03-13 12:20:39 -07:00
84edbd1ff2 cleanup some configure help text 2015-03-12 12:25:39 -07:00
dbe6ecedf8 fix enable-sniffer option in configure.ac 2015-03-12 12:07:48 -07:00
3daa8369c7 allow XTOUPPER to work with macros that don't like signed types 2015-03-11 17:52:11 -07:00
b02622d1d0 optimize hashDRBG internal state 2015-03-10 18:16:44 -07:00
ab874d70db make suites at context level on demand only 2015-03-10 16:09:16 -07:00
7e2931e5fa make sure DHE / client certs freed during handshake free 2015-03-09 22:13:34 -07:00
edfe8b8a87 fix sha256.h copyright 2015-03-09 12:06:51 -07:00
2c00e2c7a4 Merge branch 'master' of github.com:wolfssl/wolfssl 2015-03-09 11:59:11 -07:00
64705acf94 optimize cert_manager layout 2015-03-09 10:08:04 -07:00
e9db5cca74 fix saveArrays check in free handshake resources 2015-03-09 09:54:29 -07:00
c201239d02 missed 2 now redundant inits on CTX 2015-03-09 09:39:50 -07:00
e6c369e026 use memset on Init SSL for 0,NULL defaults 2015-03-09 09:34:38 -07:00
8e6f8d8693 use memset for 0,NULL defaults on CTX init 2015-03-09 09:21:04 -07:00
8822d670b3 rename function parameter to remove global shadow possibility 2015-03-09 10:08:56 -06:00
7d4faf7c90 make handshake hashes dynamic part of ssl, can be freed after handshake 2015-03-09 09:05:06 -07:00
b7b655b8bf fix example server memory tracker 2015-03-07 12:00:27 -08:00
44b6ca9597 use bitfield for basic options struct 2015-03-07 11:17:22 -08:00
8e7d8e8a55 optimize session layout 2015-03-07 10:53:08 -08:00
22899019b4 optimzie Buffers layout 2015-03-07 10:37:22 -08:00
742278a305 optimize basic SSL layout 2015-03-07 10:32:35 -08:00
f48298cbd5 move bio fds to openssl extra 2015-03-07 10:16:26 -08:00
31a2acd9c3 optimzie cipherSpecs layout 2015-03-07 10:08:34 -08:00
dc5faebb8d optimize buffer layout 2015-03-07 10:05:36 -08:00
3d971bb885 optimzie bufferStatic layout 2015-03-07 10:04:15 -08:00
28d5d50000 optimize Arrays layout 2015-03-07 10:00:37 -08:00
4bf74da2f3 optimize Suites layout 2015-03-07 09:57:14 -08:00
ef0a918072 optimize hash-drbg layout, save 12 bytes on 64bit 2015-03-07 09:46:14 -08:00
da208e8629 fix github issue #28, allow FREERTOS user in settings to turn on DH or SHA-512 2015-03-07 08:59:36 -08:00
7caf0499d6 bump version 2015-03-06 13:39:57 -08:00
7a87ce54ca fix hash size mismatch on HashSession() 2015-03-06 11:33:06 -08:00
874fa8c1f9 fix freeing a failed RNG 2015-03-06 09:51:29 -08:00
d5975e39f8 fix github issue #27, better help on fips not working w/o license 2015-03-06 09:15:33 -08:00
7ef362d4ba format of curve25519 key 2015-03-05 15:38:07 -07:00
450ccea7ee delay peer RSA key alloc/init until needed 2015-03-05 12:38:34 -08:00
818d5c4bf3 fix github issue #25, delay ecc key allocs/init until needed 2015-03-05 12:15:10 -08:00
11e15188bf fix github issue #24, settings first before ifdef checks on 25519_fe files 2015-03-04 12:15:23 -08:00
18e710ce9a make sure external X509 free uses internal free 2015-03-03 14:14:33 -08:00
9f37133e67 removed top-level iOS/iPhone projects in favor of the IDE/iOS projects 2015-03-02 12:02:29 -08:00
c14bd2dddd Merge branch 'kojo-itron' 2015-02-28 11:30:39 -08:00
1caaeb8355 tiddy whitespace 2015-02-28 11:29:42 -08:00
6f08459264 uITRON and uT-Kernel, wc-prot.c 2015-02-28 11:24:16 +09:00
b7db43a189 make ConstantCompare available outside of internal.c 2015-02-26 17:31:47 -08:00
6cced22256 add INSTALL, basic build instructions and locations for more info 2015-02-26 13:48:57 -08:00
e25dc7b16c update README.md 2015-02-26 13:27:54 -08:00
c7a72a2c00 Merge branch 'jacob-master' 2015-02-26 12:37:45 -08:00
681fc85bc8 Merge branch 'master' of https://github.com/JacobBarthelmeh/wolfssl into jacob-master 2015-02-26 12:36:42 -08:00
9913edd7a5 fix github issue #20, allow user to use settings.h at app level as well for building wolfssl. verified types.h (which includes settings.h) or settings.h is included b4 definition checks at wolfssl and wolcrypt header levels 2015-02-26 12:29:15 -08:00
30cbadc38d changes for MYSQL port 2015-02-26 10:40:32 -07:00
67e81f534a mac compare in chacha-poly AEAD and remove unneeded null check 2015-02-26 08:04:15 -07:00
ac979d49ab fix sni yassl tests 2015-02-25 20:34:50 -08:00
c04a6d2d0e update README names 2015-02-25 20:29:34 -08:00
1395c88ec4 Merge pull request #14 from lchristina26/master
fix STM32 bug in benchmark.c
2015-02-25 13:39:49 -08:00
473a120ba2 remove more stale cyassl headers 2015-02-25 13:34:29 -08:00
dbaac4da12 remvoe stale cyassl headers from openssl layer 2015-02-25 12:34:54 -08:00
ef87043495 fix github issue #16, stale cyassl header 2015-02-25 12:16:52 -08:00
2b9b3dd395 fix github issue #15, stale cyassl headers 2015-02-25 12:14:11 -08:00
f04b042c73 fix STM32 bug in benchmark.c 2015-02-25 11:43:30 -07:00
795a32446b fix github issue #13, DRBG type-punning 2015-02-24 16:47:00 -08:00
787e73d818 Merge pull request #11 from kaleb-himes/master
ntru neo.lib -> NtruEncrypt_DLL.lib
2015-02-24 15:22:40 -08:00
6d691e1b9f fix github issue #12, cyassl_mutex leftovers 2015-02-24 15:03:24 -08:00
8ee361a0d4 fix scan-build warning 2015-02-24 12:46:53 -08:00
40d51f13ce ntru neo.lib -> NtruEncrypt_DLL.lib 2015-02-24 13:44:15 -07:00
501d1cd934 Merge branch 'aburks-chapoly' 2015-02-24 12:35:08 -08:00
9d20e712bf add autoconf support for chapoly-aead, wipe temp polykey, minor whitespace adjusts 2015-02-24 12:33:52 -08:00
0e5f879d0b Added documentation and benchmarks. 2015-02-24 10:00:39 -08:00
8c3410d6c2 Added wolfcrypt API for the ChaCha20-Poly1305 AEAD. 2015-02-24 09:15:11 -08:00
14b6254e6e Fixed dependency chain issue with integer.h since one of the function prototypes uses mp_int. 2015-02-23 15:40:39 -08:00
878 changed files with 203173 additions and 74227 deletions

266
.cproject Normal file
View File

@ -0,0 +1,266 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.crt.advproject.config.lib.debug.1488646311">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.config.lib.debug.1488646311" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/lib_wolfssl"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolfssl"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/lib_wolfssl/Debug"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolfssl/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="lib_wolfssl" srcPrefixMapping="" srcRootPath=""/>
<entry flags="RESOLVED" kind="libraryFile" name="wolfssl" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib" cleanCommand="rm -rf" description="Debug build" errorParsers="org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.config.lib.debug.1488646311" name="Debug" parent="com.crt.advproject.config.lib.debug" postannouncebuildStep="Performing post-build steps" postbuildStep="arm-none-eabi-size &quot;lib${BuildArtifactFileName}&quot; ; # arm-none-eabi-objdump -h -S &quot;lib${BuildArtifactFileName}&quot; &gt;&quot;${BuildArtifactFileBaseName}.lss&quot;">
<folderInfo id="com.crt.advproject.config.lib.debug.1488646311." name="/" resourcePath="">
<toolChain id="com.crt.advproject.toolchain.lib.debug.1447659825" name="NXP MCU Tools" superClass="com.crt.advproject.toolchain.lib.debug">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.lib.debug.1439843825" name="ARM-based MCU (Debug)" superClass="com.crt.advproject.platform.lib.debug"/>
<builder buildPath="${workspace_loc:/lib_wolfssl}/Debug" id="com.crt.advproject.builder.lib.debug.2117662219" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.crt.advproject.builder.lib.debug"/>
<tool id="com.crt.advproject.cpp.lib.debug.915465581" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.lib.debug"/>
<tool id="com.crt.advproject.gcc.lib.debug.1124293510" name="MCU C Compiler" superClass="com.crt.advproject.gcc.lib.debug">
<option id="com.crt.advproject.gcc.arch.1619558061" name="Architecture" superClass="com.crt.advproject.gcc.arch" value="com.crt.advproject.gcc.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gcc.thumb.1295094535" name="Thumb mode" superClass="com.crt.advproject.gcc.thumb" value="true" valueType="boolean"/>
<option id="gnu.c.compiler.option.preprocessor.def.symbols.1815262015" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__REDLIB__"/>
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="__CODE_RED"/>
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
<listOptionValue builtIn="false" value="CORE_M3"/>
</option>
<option id="gnu.c.compiler.option.misc.other.879694681" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>
<option id="gnu.c.compiler.option.include.paths.830741839" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl/IDE/LPCXPRESSO/lib_wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837/inc}&quot;"/>
</option>
<inputType id="com.crt.advproject.compiler.input.8186130" superClass="com.crt.advproject.compiler.input"/>
</tool>
<tool id="com.crt.advproject.gas.lib.debug.1058960898" name="MCU Assembler" superClass="com.crt.advproject.gas.lib.debug">
<option id="com.crt.advproject.gas.arch.1605272069" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gas.thumb.451376463" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/>
<option id="gnu.both.asm.option.flags.crt.1769879802" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -D__REDLIB__ -DDEBUG -D__CODE_RED" valueType="string"/>
<option id="gnu.both.asm.option.include.paths.852974162" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl/IDE/LPCXPRESSO/lib_wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837/inc}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.899299031" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
<inputType id="com.crt.advproject.assembler.input.93840004" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
</tool>
<tool id="com.crt.advproject.ar.lib.debug.1978241722" name="MCU Archiver" superClass="com.crt.advproject.ar.lib.debug"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="src/bio.c|wolfcrypt/src/evp.c|wolfcrypt/src/misc.c|IDE/LPCXPRESSO/wolf_example|tirtos|testsuite|tests|swig|support|sslSniffer|scripts|rpm|mqx|mplabx|mcapi|m4|IDE/WORKBENCH|IDE/WIN|IDE/ROWLEY-CROSSWORKS-ARM|IDE/MYSQL|IDE/MDK-ARM|IDE/MDK5-ARM|IDE/LPCXPRESSO/wolf_demo|IDE/LPCXPRESSO/lpc_chip_18xx|IDE/LPCXPRESSO/lpc_board_nxp_lpcxpresso_1837|IDE/iOS|IDE/IAR-EWARM|examples|Debug|certs|build-aux|Backup|autom4te.cache|wolfcrypt/src/aes_asm.s|wolfcrypt/src/aes_asm.asm|wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings">
<externalSettings containerId="lpc_board_nxp_lpcxpresso_1837;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/lpc_board_nxp_lpcxpresso_1837"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/lpc_board_nxp_lpcxpresso_1837/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="lpc_board_nxp_lpcxpresso_1837" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<externalSettings containerId="lpc_chip_18xx;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/lpc_chip_18xx"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/lpc_chip_18xx/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="lpc_chip_18xx" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
</storageModule>
</cconfiguration>
<cconfiguration id="com.crt.advproject.config.lib.release.1867429683">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.config.lib.release.1867429683" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/lib_wolfssl"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolfssl"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/lib_wolfssl/Release"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolfssl/Release"/>
<entry flags="RESOLVED" kind="libraryFile" name="lib_wolfssl" srcPrefixMapping="" srcRootPath=""/>
<entry flags="RESOLVED" kind="libraryFile" name="wolfssl" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="a" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib" cleanCommand="rm -rf" description="Release build" errorParsers="org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.config.lib.release.1867429683" name="Release" parent="com.crt.advproject.config.lib.release" postannouncebuildStep="Performing post-build steps" postbuildStep="arm-none-eabi-size &quot;lib${BuildArtifactFileName}&quot; ; # arm-none-eabi-objdump -h -S &quot;lib${BuildArtifactFileName}&quot; &gt;&quot;${BuildArtifactFileBaseName}.lss&quot;">
<folderInfo id="com.crt.advproject.config.lib.release.1867429683." name="/" resourcePath="">
<toolChain id="com.crt.advproject.toolchain.lib.release.380660388" name="NXP MCU Tools" superClass="com.crt.advproject.toolchain.lib.release">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.lib.release.1920417960" name="ARM-based MCU (Debug)" superClass="com.crt.advproject.platform.lib.release"/>
<builder buildPath="${workspace_loc:/lib_wolfssl}/Release" id="com.crt.advproject.builder.lib.release.1957065966" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.crt.advproject.builder.lib.release"/>
<tool id="com.crt.advproject.cpp.lib.release.991239198" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.lib.release"/>
<tool id="com.crt.advproject.gcc.lib.release.1950313830" name="MCU C Compiler" superClass="com.crt.advproject.gcc.lib.release">
<option id="com.crt.advproject.gcc.arch.971195452" name="Architecture" superClass="com.crt.advproject.gcc.arch" value="com.crt.advproject.gcc.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gcc.thumb.167176352" name="Thumb mode" superClass="com.crt.advproject.gcc.thumb" value="true" valueType="boolean"/>
<option id="gnu.c.compiler.option.preprocessor.def.symbols.223126135" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="__REDLIB__"/>
<listOptionValue builtIn="false" value="NDEBUG"/>
<listOptionValue builtIn="false" value="__CODE_RED"/>
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
<listOptionValue builtIn="false" value="CORE_M3"/>
</option>
<option id="gnu.c.compiler.option.misc.other.637535653" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>
<option id="gnu.c.compiler.option.include.paths.74265565" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/freertos}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lib_wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/IDE/LPCXPRESSO/lib_wolfssl}&quot;"/>
</option>
<inputType id="com.crt.advproject.compiler.input.1144243950" superClass="com.crt.advproject.compiler.input"/>
</tool>
<tool id="com.crt.advproject.gas.lib.release.364778201" name="MCU Assembler" superClass="com.crt.advproject.gas.lib.release">
<option id="com.crt.advproject.gas.arch.95085806" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gas.thumb.220186241" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/>
<option id="gnu.both.asm.option.flags.crt.2139190035" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -D__REDLIB__ -DNDEBUG -D__CODE_RED" valueType="string"/>
<option id="gnu.both.asm.option.include.paths.1581663756" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/IDE/LPCXPRESSO/lib_wolfssl/}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1598169582" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
<inputType id="com.crt.advproject.assembler.input.842191937" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
</tool>
<tool id="com.crt.advproject.ar.lib.release.962348675" name="MCU Archiver" superClass="com.crt.advproject.ar.lib.release"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="IDE/LPCXPRESSO/wolf_example|tirtos|testsuite|tests|swig|support|sslSniffer|scripts|rpm|mqx|mplabx|mcapi|m4|IDE/WORKBENCH|IDE/WIN|IDE/ROWLEY-CROSSWORKS-ARM|IDE/MYSQL|IDE/MDK-ARM|IDE/MDK5-ARM|IDE/LPCXPRESSO/wolf_demo|IDE/LPCXPRESSO/lpc_board_nxp_lpcxpresso_1837|IDE/iOS|IDE/IAR-EWARM|examples|Debug|certs|build-aux|Backup|autom4te.cache|wolfcrypt/src/aes_asm.s|wolfcrypt/src/aes_asm.asm|wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="lib_wolfssl.com.crt.advproject.projecttype.lib.158532356" name="Static Library" projectType="com.crt.advproject.projecttype.lib"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="com.crt.config">
<projectStorage>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;TargetConfig&gt;
&lt;Properties property_0="" property_2="LPC18x7_43x7_2x512_BootA.cfx" property_3="NXP" property_4="LPC18S37" property_count="5" version="70200"/&gt;
&lt;infoList vendor="NXP"&gt;&lt;info chip="LPC18S37" flash_driver="LPC18x7_43x7_2x512_BootA.cfx" match_id="0x0" name="LPC18S37" resetscript="LPC18LPC43InternalFLASHBootResetscript.scp" stub="crt_emu_lpc18_43_nxp"&gt;&lt;chip&gt;&lt;name&gt;LPC18S37&lt;/name&gt;
&lt;family&gt;LPC18xx&lt;/family&gt;
&lt;vendor&gt;NXP (formerly Philips)&lt;/vendor&gt;
&lt;reset board="None" core="Real" sys="Real"/&gt;
&lt;clock changeable="TRUE" freq="20MHz" is_accurate="TRUE"/&gt;
&lt;memory can_program="true" id="Flash" is_ro="true" type="Flash"/&gt;
&lt;memory id="RAM" type="RAM"/&gt;
&lt;memory id="Periph" is_volatile="true" type="Peripheral"/&gt;
&lt;memoryInstance derived_from="Flash" id="MFlashA512" location="0x1a000000" size="0x80000"/&gt;
&lt;memoryInstance derived_from="Flash" id="MFlashB512" location="0x1b000000" size="0x80000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamLoc32" location="0x10000000" size="0x8000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamLoc40" location="0x10080000" size="0xa000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamAHB32" location="0x20000000" size="0x8000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamAHB16" location="0x20008000" size="0x4000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamAHB_ETB16" location="0x2000c000" size="0x4000"/&gt;
&lt;prog_flash blocksz="0x2000" location="0x1a000000" maxprgbuff="0x400" progwithcode="TRUE" size="0x10000"/&gt;
&lt;prog_flash blocksz="0x10000" location="0x1a010000" maxprgbuff="0x400" progwithcode="TRUE" size="0x70000"/&gt;
&lt;prog_flash blocksz="0x2000" location="0x1b000000" maxprgbuff="0x400" progwithcode="TRUE" size="0x10000"/&gt;
&lt;prog_flash blocksz="0x10000" location="0x1b010000" maxprgbuff="0x400" progwithcode="TRUE" size="0x70000"/&gt;
&lt;peripheralInstance derived_from="V7M_MPU" id="MPU" location="0xe000ed90"/&gt;
&lt;peripheralInstance derived_from="V7M_NVIC" id="NVIC" location="0xe000e000"/&gt;
&lt;peripheralInstance derived_from="V7M_DCR" id="DCR" location="0xe000edf0"/&gt;
&lt;peripheralInstance derived_from="V7M_ITM" id="ITM" location="0xe0000000"/&gt;
&lt;peripheralInstance derived_from="SCT" id="SCT" location="0x40000000"/&gt;
&lt;peripheralInstance derived_from="GPDMA" id="GPDMA" location="0x40002000"/&gt;
&lt;peripheralInstance derived_from="SPIFI" id="SPIFI" location="0x40003000"/&gt;
&lt;peripheralInstance derived_from="SDMMC" id="SDMMC" location="0x40004000"/&gt;
&lt;peripheralInstance derived_from="EMC" id="EMC" location="0x40005000"/&gt;
&lt;peripheralInstance derived_from="USB0" id="USB0" location="0x40006000"/&gt;
&lt;peripheralInstance derived_from="USB1" id="USB1" location="0x40007000"/&gt;
&lt;peripheralInstance derived_from="EEPROM" id="EEPROM" location="0x4000e000"/&gt;
&lt;peripheralInstance derived_from="ETHERNET" id="ETHERNET" location="0x40010000"/&gt;
&lt;peripheralInstance derived_from="ATIMER" id="ATIMER" location="0x40040000"/&gt;
&lt;peripheralInstance derived_from="REGFILE" id="REGFILE" location="0x40041000"/&gt;
&lt;peripheralInstance derived_from="PMC" id="PMC" location="0x40042000"/&gt;
&lt;peripheralInstance derived_from="CREG" id="CREG" location="0x40043000"/&gt;
&lt;peripheralInstance derived_from="EVENTROUTER" id="EVENTROUTER" location="0x40044000"/&gt;
&lt;peripheralInstance derived_from="RTC" id="RTC" location="0x40046000"/&gt;
&lt;peripheralInstance derived_from="CGU" id="CGU" location="0x40050000"/&gt;
&lt;peripheralInstance derived_from="CCU1" id="CCU1" location="0x40051000"/&gt;
&lt;peripheralInstance derived_from="CCU2" id="CCU2" location="0x40052000"/&gt;
&lt;peripheralInstance derived_from="RGU" id="RGU" location="0x40053000"/&gt;
&lt;peripheralInstance derived_from="WWDT" id="WWDT" location="0x40080000"/&gt;
&lt;peripheralInstance derived_from="USART0" id="USART0" location="0x40081000"/&gt;
&lt;peripheralInstance derived_from="USART2" id="USART2" location="0x400c1000"/&gt;
&lt;peripheralInstance derived_from="USART3" id="USART3" location="0x400c2000"/&gt;
&lt;peripheralInstance derived_from="UART1" id="UART1" location="0x40082000"/&gt;
&lt;peripheralInstance derived_from="SSP0" id="SSP0" location="0x40083000"/&gt;
&lt;peripheralInstance derived_from="SSP1" id="SSP1" location="0x400c5000"/&gt;
&lt;peripheralInstance derived_from="TIMER0" id="TIMER0" location="0x40084000"/&gt;
&lt;peripheralInstance derived_from="TIMER1" id="TIMER1" location="0x40085000"/&gt;
&lt;peripheralInstance derived_from="TIMER2" id="TIMER2" location="0x400c3000"/&gt;
&lt;peripheralInstance derived_from="TIMER3" id="TIMER3" location="0x400c4000"/&gt;
&lt;peripheralInstance derived_from="SCU" id="SCU" location="0x40086000"/&gt;
&lt;peripheralInstance derived_from="GPIO-PIN-INT" id="GPIO-PIN-INT" location="0x40087000"/&gt;
&lt;peripheralInstance derived_from="GPIO-GROUP-INT0" id="GPIO-GROUP-INT0" location="0x40088000"/&gt;
&lt;peripheralInstance derived_from="GPIO-GROUP-INT1" id="GPIO-GROUP-INT1" location="0x40089000"/&gt;
&lt;peripheralInstance derived_from="MCPWM" id="MCPWM" location="0x400a0000"/&gt;
&lt;peripheralInstance derived_from="I2C0" id="I2C0" location="0x400a1000"/&gt;
&lt;peripheralInstance derived_from="I2C1" id="I2C1" location="0x400e0000"/&gt;
&lt;peripheralInstance derived_from="I2S0" id="I2S0" location="0x400a2000"/&gt;
&lt;peripheralInstance derived_from="I2S1" id="I2S1" location="0x400a3000"/&gt;
&lt;peripheralInstance derived_from="C-CAN1" id="C-CAN1" location="0x400a4000"/&gt;
&lt;peripheralInstance derived_from="RITIMER" id="RITIMER" location="0x400c0000"/&gt;
&lt;peripheralInstance derived_from="QEI" id="QEI" location="0x400c6000"/&gt;
&lt;peripheralInstance derived_from="GIMA" id="GIMA" location="0x400c7000"/&gt;
&lt;peripheralInstance derived_from="DAC" id="DAC" location="0x400e1000"/&gt;
&lt;peripheralInstance derived_from="C-CAN0" id="C-CAN0" location="0x400e2000"/&gt;
&lt;peripheralInstance derived_from="ADC0" id="ADC0" location="0x400e3000"/&gt;
&lt;peripheralInstance derived_from="ADC1" id="ADC1" location="0x400e4000"/&gt;
&lt;peripheralInstance derived_from="GPIO-PORT" id="GPIO-PORT" location="0x400f4000"/&gt;
&lt;/chip&gt;
&lt;processor&gt;&lt;name gcc_name="cortex-m3"&gt;Cortex-M3&lt;/name&gt;
&lt;family&gt;Cortex-M&lt;/family&gt;
&lt;/processor&gt;
&lt;link href="nxp_lpc18xx_peripheral.xme" show="embed" type="simple"/&gt;
&lt;/info&gt;
&lt;/infoList&gt;
&lt;/TargetConfig&gt;</projectStorage>
</storageModule>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.lib.release.1867429683;com.crt.advproject.config.lib.release.1867429683.;com.crt.advproject.gcc.lib.release.1950313830;com.crt.advproject.compiler.input.1144243950">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.lib.release.1867429683;com.crt.advproject.config.lib.release.1867429683.;com.crt.advproject.gas.lib.release.364778201;com.crt.advproject.assembler.input.842191937">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.lib.debug.1488646311;com.crt.advproject.config.lib.debug.1488646311.;com.crt.advproject.gas.lib.debug.1058960898;com.crt.advproject.assembler.input.93840004">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.lib.debug.1488646311;com.crt.advproject.config.lib.debug.1488646311.;com.crt.advproject.gcc.lib.debug.1124293510;com.crt.advproject.compiler.input.8186130">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
</storageModule>
</cproject>

82
.gitignore vendored
View File

@ -14,8 +14,12 @@ config*
*Release/
*.ncb
*.suo
*.sdf
*.opensdf
ipch/
build-aux/
rpm/spec
*.rpm
stamp-h
cyassl/options.h
wolfssl/options.h
@ -23,7 +27,6 @@ libtool.m4
aclocal.m4
aminclude.am
lt*.m4
INSTALL
Makefile.in
Makefile
depcomp
@ -37,6 +40,16 @@ cyassl.sublime*
fips.c
fips_test.c
fips
src/async.c
wolfssl/async.h
wolfcrypt/src/async.c
wolfssl/wolfcrypt/async.h
wolfcrypt/src/port/intel/quickassist.c
wolfcrypt/src/port/intel/quickassist_mem.c
wolfcrypt/src/port/cavium/cavium_nitrox.c
wolfssl/wolfcrypt/port/intel/quickassist.h
wolfssl/wolfcrypt/port/intel/quickassist_mem.h
wolfssl/wolfcrypt/port/cavium/cavium_nitrox.h
ctaocrypt/benchmark/benchmark
ctaocrypt/test/testctaocrypt
wolfcrypt/benchmark/benchmark
@ -45,6 +58,10 @@ examples/client/client
examples/echoclient/echoclient
examples/echoserver/echoserver
examples/server/server
examples/sctp/sctp-server
examples/sctp/sctp-server-dtls
examples/sctp/sctp-client
examples/sctp/sctp-client-dtls
server_ready
snifftest
output
@ -53,6 +70,7 @@ testsuite/testsuite
tests/unit
testsuite/testsuite.test
tests/unit.test
tests/bio_write_test.txt
testsuite/*.der
testsuite/*.pem
testsuite/*.raw
@ -67,15 +85,31 @@ ntru-cert.pem
ntru-key.raw
key.der
key.pem
ecc-public-key.der
ecc-key.der
ecc-key.pem
certreq.der
certreq.pem
pkcs7cert.der
pkcs7signedData.der
pkcs7envelopedData.der
pkcs7signedData_RSA_SHA.der
pkcs7signedData_RSA_SHA_noattr.der
pkcs7signedData_RSA_SHA224.der
pkcs7signedData_RSA_SHA256.der
pkcs7signedData_RSA_SHA384.der
pkcs7signedData_RSA_SHA512.der
pkcs7signedData_ECDSA_SHA.der
pkcs7signedData_ECDSA_SHA_noattr.der
pkcs7signedData_ECDSA_SHA224.der
pkcs7signedData_ECDSA_SHA256.der
pkcs7signedData_ECDSA_SHA384.der
pkcs7signedData_ECDSA_SHA512.der
pkcs7envelopedDataDES3.der
pkcs7envelopedDataAES128CBC.der
pkcs7envelopedDataAES192CBC.der
pkcs7envelopedDataAES256CBC.der
diff
sslSniffer/sslSnifferTest/tracefile.txt
tracefile.txt
*.gz
*.zip
*.bak
@ -109,11 +143,11 @@ cov-int
cyassl.tgz
*.log
*.trs
IDE\MDK-ARM\Projects/
IDE\MDK-ARM\STM32F2xx_StdPeriph_Lib/inc
IDE\MDK-ARM\STM32F2xx_StdPeriph_Lib/src
IDE\MDK-ARM\LPC43xx\Drivers/
IDE\MDK-ARM\LPC43xx\LPC43xx/
IDE/MDK-ARM/Projects/
IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/inc
IDE/MDK-ARM/STM32F2xx_StdPeriph_Lib/src
IDE/MDK-ARM/LPC43xx/Drivers/
IDE/MDK-ARM/LPC43xx/LPC43xx/
*.gcno
*.gcda
*.gcov
@ -133,6 +167,7 @@ mplabx/wolfcrypt_test.X/nbproject/Makefile-*
mplabx/wolfcrypt_test.X/nbproject/Package-default.bash
mplabx/wolfssl.X/nbproject/Makefile-*
mplabx/wolfssl.X/nbproject/Package-default.bash
*.dSYM
# Vagrant folder
.vagrant/
@ -149,3 +184,34 @@ mqx/wolfcrypt_test/SaAnalysispointsManager.apconfig
mqx/wolfcrypt_benchmark/.settings
mqx/wolfcrypt_benchmark/.cwGeneratedFileSetLog
mqx/wolfcrypt_benchmark/SaAnalysispointsManager.apconfig
# User Crypto example build
wolfcrypt/user-crypto/aclocal.m4
wolfcrypt/user-crypto/config.guess
wolfcrypt/user-crypto/autom4te.cache
wolfcrypt/user-crypto/config.log
wolfcrypt/user-crypto/config.status
wolfcrypt/user-crypto/config.sub
wolfcrypt/user-crypto/depcomp
wolfcrypt/user-crypto/install-sh
wolfcrypt/user-crypto/libtool
wolfcrypt/user-crypto/ltmain.sh
wolfcrypt/user-crypto/m4
wolfcrypt/user-crypto/missing
wolfcrypt/user-crypto/Makefile.in
wolfcrypt/user-crypto/lib/libusercrypto.*
*.hzs
# wolfSSL CSharp wrapper
wrapper/CSharp/x64/
# Visual Studio Code Workspace Files
*.vscode
IDE/INTIME-RTOS/Debug_*
# Hexiwear
IDE/HEXIWEAR/wolfSSL_HW/Debug
# Binaries
wolfcrypt/src/port/intel/qat_test

28
.project Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolfssl</name>
<comment></comment>
<projects>
<project>lpc_board_nxp_lpcxpresso_1837</project>
<project>lpc_chip_18xx</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1 @@
Please see the file 'README' in this directory.

25
IDE/ARDUINO/README.md Normal file
View File

@ -0,0 +1,25 @@
### wolfSSL with Arduino
##### Reformatting wolfSSL as a compatible Arduino Library
This is a shell script that will re-organize the wolfSSL library to be
compatible with Arduino projects. The Arduino IDE requires a library's source
files to be in the library's root directory with a header file in the name of
the library. This script moves all src/ files to the root wolfssl directory and
creates a stub header file called wolfssl.h.
Step 1: To configure wolfSSL with Arduino, enter the following from within the
wolfssl/IDE/ARDUINO directory:
./wolfssl-arduino.sh
Step 2: Edit <wolfssl-root>/wolfssl/wolfcrypt/settings.h uncomment the define for
WOLFSSL_ARDUINO
also uncomment the define for INTEL_GALILEO if building for that platform
#####Including wolfSSL in Arduino Libraries (for Arduino version 1.6.6)
1. Copy the wolfSSL directory into Arduino/libraries (or wherever Arduino searches for libraries).
2. In the Arduino IDE:
- Go to ```Sketch > Include Libraries > Manage Libraries```. This refreshes your changes to the libraries.
- Next go to ```Sketch > Include Libraries > wolfSSL```. This includes wolfSSL in your sketch.

8
IDE/ARDUINO/include.am Normal file
View File

@ -0,0 +1,8 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST+= IDE/ARDUINO/README.md
EXTRA_DIST+= IDE/ARDUINO/sketches/wolfssl_client/wolfssl_client.ino
EXTRA_DIST+= IDE/ARDUINO/wolfssl-arduino.sh

View File

@ -0,0 +1,145 @@
/* wolfssl_client.ino
*
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include <wolfssl.h>
#include <wolfssl/ssl.h>
#include <Ethernet.h>
const char host[] = "192.168.1.148"; // server to connect to
int port = 11111; // port on server to connect to
int EthernetSend(WOLFSSL* ssl, char* msg, int sz, void* ctx);
int EthernetReceive(WOLFSSL* ssl, char* reply, int sz, void* ctx);
int reconnect = 10;
EthernetClient client;
WOLFSSL_CTX* ctx = 0;
WOLFSSL* ssl = 0;
WOLFSSL_METHOD* method = 0;
void setup() {
Serial.begin(9600);
method = wolfTLSv1_2_client_method();
if (method == NULL) {
Serial.println("unable to get method");
return;
}
ctx = wolfSSL_CTX_new(method);
if (ctx == NULL) {
Serial.println("unable to get ctx");
return;
}
// initialize wolfSSL using callback functions
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
wolfSSL_SetIOSend(ctx, EthernetSend);
wolfSSL_SetIORecv(ctx, EthernetReceive);
return;
}
int EthernetSend(WOLFSSL* ssl, char* msg, int sz, void* ctx) {
int sent = 0;
sent = client.write((byte*)msg, sz);
return sent;
}
int EthernetReceive(WOLFSSL* ssl, char* reply, int sz, void* ctx) {
int ret = 0;
while (client.available() > 0 && ret < sz) {
reply[ret++] = client.read();
}
return ret;
}
void loop() {
int err = 0;
int input = 0;
int sent = 0;
int total_input = 0;
char msg[32] = "hello wolfssl!";
int msgSz = (int)strlen(msg);
char errBuf[80];
char reply[80];
WOLFSSL_CIPHER* cipher;
if (reconnect) {
reconnect--;
if (client.connect(host, port)) {
Serial.print("Connected to ");
Serial.println(host);
ssl = wolfSSL_new(ctx);
if (ssl == NULL) {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("Unable to get SSL object. Error = ");
Serial.println(errBuf);
}
Serial.print("SSL version is ");
Serial.println(wolfSSL_get_version(ssl));
if ((wolfSSL_write(ssl, msg, strlen(msg))) == msgSz) {
cipher = wolfSSL_get_current_cipher(ssl);
Serial.print("SSL cipher suite is ");
Serial.println(wolfSSL_CIPHER_get_name(cipher));
Serial.print("Server response: ");
while (client.available() || wolfSSL_pending(ssl)) {
input = wolfSSL_read(ssl, reply, sizeof(reply) - 1);
total_input += input;
if ( input > 0 ) {
reply[input] = '\0';
Serial.print(reply);
} else if (input < 0) {
err = wolfSSL_get_error(ssl, 0);
wolfSSL_ERR_error_string(err, errBuf);
Serial.print("wolfSSL_read failed. Error: ");
Serial.println(errBuf);
} else {
Serial.println();
}
}
} else {
Serial.println("SSL_write failed");
}
if (ssl != NULL)
wolfSSL_free(ssl);
client.stop();
Serial.println("Connection complete.");
reconnect = 0;
} else {
Serial.println("Trying to reconnect...");
}
}
delay(1000);
}

26
IDE/ARDUINO/wolfssl-arduino.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/sh
# this script will reformat the wolfSSL source code to be compatible with
# an Arduino project
# run as bash ./wolfssl-arduino.sh
DIR=${PWD##*/}
if [ "$DIR" = "ARDUINO" ]; then
cp ../../src/*.c ../../
cp ../../wolfcrypt/src/*.c ../../
echo "/* stub header file for Arduino compatibility */" >> ../../wolfssl.h
else
echo "ERROR: You must be in the IDE/ARDUINO directory to run this script"
fi
#UPDATED: 19 Apr 2017 to remove bio.c and evp.c from the root directory since
# they are included inline and should not be compiled directly
ARDUINO_DIR=${PWD}
cd ../../
rm bio.c
rm evp.c
cd $ARDUINO_DIR
# end script in the origin directory for any future functionality that may be added.
#End UPDATE: 19 Apr 2017

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<macros>
<stringMacro name="PROJECT_KSDK_PATH" type="VALUE_TEXT" value="~/Work/KSDK_1.3.0"/>
</macros>
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolfSSL_HW"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolfSSL_HW/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="wolfssl_hw" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="a" artifactName="wolfssl_hw" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395." name="/" resourcePath="">
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.955851768" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1637878147" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.596937133" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.412948756" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.1412387181" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.1877241998" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.2038051180" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.max" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.1062002269" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.1592667634" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m4" valueType="enumerated"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.1112951710" 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"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1079530716" 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.toolchain.name.192917244" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.2108482930" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" value="arm-none-eabi-" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.500222702" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" value="gcc" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.175873499" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" value="g++" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1700937041" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" value="objcopy" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.1874549763" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" value="objdump" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.178137928" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" value="size" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.1274071175" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" value="make" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.655658023" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" value="rm" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.1937238341" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" value="ar" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.1476617138" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1035232247" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto.8601271" name="Link-time optimizer (-flto)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.lto" value="false" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.817253425" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"/>
<builder buildPath="${workspace_loc:/wolfSSL_HW}/Debug" id="ilg.gnuarmeclipse.managedbuild.cross.builder.2043375702" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1135882719" name="Cross ARM GNU Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.369489760" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1086496768" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1696761989" name="Cross ARM GNU C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.9643995" 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 id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.349147702" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../../../&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${PROJECT_KSDK_PATH}/platform/devices&quot;"/>
<listOptionValue builtIn="false" value="&quot;${PROJECT_KSDK_PATH}/platform/CMSIS/Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${PROJECT_KSDK_PATH}/platform/devices/MK64F12/startup&quot;"/>
<listOptionValue builtIn="false" value="&quot;${PROJECT_KSDK_PATH}/platform/drivers/inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${PROJECT_KSDK_PATH}/platform/hal/inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${PROJECT_KSDK_PATH}/platform/osa/inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${PROJECT_KSDK_PATH}/platform/utilities/inc&quot;"/>
</option>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.1294205548" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="&quot;CPU_MK64FN1M0VMD12&quot;"/>
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.817994152" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.234608726" name="Cross ARM GNU C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.1452713629" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="false"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.497680378" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="&quot;CPU_MK64FN1M0VMD12&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.909966654" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.506002589" name="Cross ARM GNU C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.1489822225" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" value="true" valueType="boolean"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.575756954" name="Cross ARM GNU C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.11344634" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths.1878565771" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/Project_Settings/Linker_Files&quot;"/>
</option>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other.1517060693" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.other" value="-specs=nosys.specs -specs=nano.specs -Xlinker -z -Xlinker muldefs" valueType="string"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.468376236" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;MK64FN1M0xxx12_flash.ld&quot;"/>
</option>
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.955790366" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.1962941231" name="Cross ARM GNU Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1365673947" name="Cross ARM GNU Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash"/>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.790507756" name="Cross ARM GNU Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.1929510617" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.573901902" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.2051558160" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.851594065" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.1352373056" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"/>
</tool>
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.934998862" name="Cross ARM GNU Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.1738611770" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="wolfcrypt/src/integer.c|wolfcrypt/src/misc.c|src/bio.c|wolfcrypt/src/evp.c|wolfcrypt/src/aes_asm.s|wolfcrypt/src/aes_asm.asm|SDK|wolfssl/wolfcrypt/port|wolfcrypt/src/port|wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="wolfSSL_HW.ilg.gnuarmeclipse.managedbuild.cross.target.elf.1053752509" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395.;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.234608726;ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.909966654">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.170735395.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1696761989;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.817994152">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/wolfSSL_HW"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>

View File

@ -0,0 +1,19 @@
Sources/main.c
Project_Settings/Linker_Files/MK64FN1M0xxx12_flash.ld
SDK/platform/CMSIS/Include/core_cmSimd.h
SDK/platform/devices/MK64F12/include/MK64F12.h
SDK/platform/CMSIS/Include/arm_common_tables.h
SDK/platform/CMSIS/Include/arm_const_structs.h
SDK/platform/devices/MK64F12/include/MK64F12_features.h
SDK/platform/CMSIS/Include/core_cm4.h
SDK/platform/CMSIS/Include/core_cmFunc.h
SDK/platform/CMSIS/Include/core_cmInstr.h
SDK/platform/devices/fsl_device_registers.h
SDK/platform/devices/MK64F12/include/fsl_bitaccess.h
SDK/platform/CMSIS/Include/arm_math.h
SDK/platform/devices/MK64F12/include/MK64F12_extension.h
Project_Settings/Startup_Code/startup.c
Project_Settings/Startup_Code/system_MK64F12.c
Project_Settings/Startup_Code/startup.h
Project_Settings/Startup_Code/startup_MK64F12.S
Project_Settings/Startup_Code/system_MK64F12.h

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolfSSL_HW</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>src</name>
<type>2</type>
<locationURI>$%7BPARENT-3-PROJECT_LOC%7D/src</locationURI>
</link>
<link>
<name>wolfcrypt</name>
<type>2</type>
<locationURI>$%7BPARENT-3-PROJECT_LOC%7D/wolfcrypt</locationURI>
</link>
<link>
<name>wolfssl</name>
<type>2</type>
<locationURI>$%7BPARENT-3-PROJECT_LOC%7D/wolfssl</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>PROJECT_KSDK_PATH</name>
<value>file:/.KSDK_1.3.0</value>
</variable>
</variableList>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
versionGenerated/versionGenerated=1.0.0.RT7_b1550-0615

View File

@ -0,0 +1,6 @@
#define FREESCALE_KSDK_BM
#define FREESCALE_KSDK_1_3
#define FSL_HW_CRYPTO_MANUAL_SELECTION
#define NO_MAIN_DRIVER
#define USE_CERT_BUFFERS_1024
#define ECC_USER_CURVES

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<workspace>
<project>
<path>$WS_DIR$\CyaSSL-Lib.ewp</path>
</project>
<project>
<path>$WS_DIR$\wolfCrypt-benchmark.ewp</path>
</project>
<project>
<path>$WS_DIR$\wolfCrypt-test.ewp</path>
</project>
<batchBuild/>
</workspace>

View File

@ -1,32 +0,0 @@
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000;
define symbol __ICFEDIT_size_heap__ = 0x2000;
/**** End of ICF editor section. ###ICF###*/
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
initialize by copy { readwrite };
//initialize by copy with packing = none { section __DLIB_PERTHREAD }; // Required in a multi-threaded application
do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block HEAP };

View File

@ -1,31 +0,0 @@
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x0;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x0;
define symbol __ICFEDIT_region_ROM_end__ = 0x000FFFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x1FFF0000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000;
define symbol __ICFEDIT_size_heap__ = 0x3000;
/**** End of ICF editor section. ###ICF###*/
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
initialize by copy { readwrite };
do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block HEAP };

View File

@ -1,8 +1,8 @@
/* benchmark-main.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,10 +16,16 @@
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include "stdio.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfcrypt/benchmark/benchmark.h>
typedef struct func_args {
int argc;
@ -29,12 +35,9 @@ typedef struct func_args {
func_args args = { 0 } ;
extern int benchmark_test(void *args) ;
extern double current_time(int reset) ;
main(void) {
benchmark_test(&args) ;
return 0;
}

View File

@ -0,0 +1,67 @@
/* current-time.c
*
* Copyright (C) 2006-2016 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_TI_CURRTIME
#include <stdio.h>
#include <stdbool.h>
#include <stdint.h>
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_timer.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/timer.h"
void InitTimer(void) {
uint32_t ui32SysClock = ROM_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480), 120000000);
printf("Clock=%dMHz\n", ui32SysClock/1000000) ;
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
ROM_TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);
ROM_TimerLoadSet(TIMER0_BASE, TIMER_A, -1);
ROM_TimerEnable(TIMER0_BASE, TIMER_A);
}
static int initFlag = false ;
double current_time(int reset)
{
if(!initFlag)InitTimer() ;
initFlag = true ;
if(reset)ROM_TimerLoadSet(TIMER0_BASE, TIMER_A, -1);
return (double)(-(int)ROM_TimerValueGet(TIMER0_BASE, TIMER_A ))/120000000.0 ;
}
#else
double current_time(int reset) { return 0.0 ; }
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,981 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<configuration>
<name>Debug</name>
<toolchain>
<name>ARM</name>
</toolchain>
<debug>1</debug>
<settings>
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>ExePath</name>
<state>ewarm\Exe</state>
</option>
<option>
<name>ObjPath</name>
<state>ewarm\Obj</state>
</option>
<option>
<name>ListPath</name>
<state>ewarm\List</state>
</option>
<option>
<name>Variant</name>
<version>21</version>
<state>40</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
</option>
<option>
<name>Input variant</name>
<version>3</version>
<state>6</state>
</option>
<option>
<name>Input description</name>
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
</option>
<option>
<name>Output variant</name>
<version>2</version>
<state>2</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting, without multibyte support.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>4</version>
<state>6</state>
</option>
<option>
<name>OGCoreOrChip</name>
<state>0</state>
</option>
<option>
<name>GRuntimeLibSelect</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>GRuntimeLibSelectSlave</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>RTDescription</name>
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
</option>
<option>
<name>OGProductVersion</name>
<state>5.11.0.50579</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>7.40.1.8463</state>
</option>
<option>
<name>GeneralEnableMisra</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraVerbose</name>
<state>0</state>
</option>
<option>
<name>OGChipSelectEditMenu</name>
<state>Default None</state>
</option>
<option>
<name>GenLowLevelInterface</name>
<state>1</state>
</option>
<option>
<name>GEndianModeBE</name>
<state>1</state>
</option>
<option>
<name>OGBufferedTerminalOutput</name>
<state>0</state>
</option>
<option>
<name>GenStdoutInterface</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraRules98</name>
<version>0</version>
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
</option>
<option>
<name>GeneralMisraVer</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraRules04</name>
<version>0</version>
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
</option>
<option>
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>21</version>
<state>40</state>
</option>
<option>
<name>GBECoreSlave</name>
<version>21</version>
<state>40</state>
</option>
<option>
<name>OGUseCmsis</name>
<state>0</state>
</option>
<option>
<name>OGUseCmsisDspLib</name>
<state>0</state>
</option>
<option>
<name>GRuntimeLibThreads</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>CCDefines</name>
<state>ewarm</state>
<state>PART_TM4C129XNCZAD</state>
<state>WOLFSSL_USER_SETTINGS</state>
<state>TARGET_IS_SNOWFLAKE_RA0</state>
</option>
<option>
<name>CCPreprocFile</name>
<state>0</state>
</option>
<option>
<name>CCPreprocComments</name>
<state>0</state>
</option>
<option>
<name>CCPreprocLine</name>
<state>0</state>
</option>
<option>
<name>CCListCFile</name>
<state>0</state>
</option>
<option>
<name>CCListCMnemonics</name>
<state>0</state>
</option>
<option>
<name>CCListCMessages</name>
<state>0</state>
</option>
<option>
<name>CCListAssFile</name>
<state>0</state>
</option>
<option>
<name>CCListAssSource</name>
<state>0</state>
</option>
<option>
<name>CCEnableRemarks</name>
<state>0</state>
</option>
<option>
<name>CCDiagSuppress</name>
<state>Pa050</state>
</option>
<option>
<name>CCDiagRemark</name>
<state></state>
</option>
<option>
<name>CCDiagWarning</name>
<state></state>
</option>
<option>
<name>CCDiagError</name>
<state></state>
</option>
<option>
<name>CCObjPrefix</name>
<state>1</state>
</option>
<option>
<name>CCAllowList</name>
<version>1</version>
<state>11111110</state>
</option>
<option>
<name>CCDebugInfo</name>
<state>1</state>
</option>
<option>
<name>IEndianMode</name>
<state>1</state>
</option>
<option>
<name>IProcessor</name>
<state>1</state>
</option>
<option>
<name>IExtraOptionsCheck</name>
<state>0</state>
</option>
<option>
<name>IExtraOptions</name>
<state></state>
</option>
<option>
<name>CCLangConformance</name>
<state>0</state>
</option>
<option>
<name>CCSignedPlainChar</name>
<state>1</state>
</option>
<option>
<name>CCRequirePrototypes</name>
<state>0</state>
</option>
<option>
<name>CCMultibyteSupport</name>
<state>0</state>
</option>
<option>
<name>CCDiagWarnAreErr</name>
<state>0</state>
</option>
<option>
<name>CCCompilerRuntimeInfo</name>
<state>0</state>
</option>
<option>
<name>IFpuProcessor</name>
<state>1</state>
</option>
<option>
<name>OutputFile</name>
<state>$FILE_BNAME$.o</state>
</option>
<option>
<name>CCLibConfigHeader</name>
<state>1</state>
</option>
<option>
<name>PreInclude</name>
<state></state>
</option>
<option>
<name>CompilerMisraOverride</name>
<state>0</state>
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\..\..\..</state>
<state>$PROJ_DIR$\..</state>
<state>$PROJ_DIR$\..\..\..\..\..</state>
</option>
<option>
<name>CCStdIncCheck</name>
<state>0</state>
</option>
<option>
<name>CCCodeSection</name>
<state>.text</state>
</option>
<option>
<name>IInterwork2</name>
<state>0</state>
</option>
<option>
<name>IProcessorMode2</name>
<state>1</state>
</option>
<option>
<name>CCOptLevel</name>
<state>3</state>
</option>
<option>
<name>CCOptStrategy</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CCOptLevelSlave</name>
<state>3</state>
</option>
<option>
<name>CompilerMisraRules98</name>
<version>0</version>
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
</option>
<option>
<name>CompilerMisraRules04</name>
<version>0</version>
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
</option>
<option>
<name>CCPosIndRopi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndRwpi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndNoDynInit</name>
<state>0</state>
</option>
<option>
<name>IccLang</name>
<state>0</state>
</option>
<option>
<name>IccCDialect</name>
<state>1</state>
</option>
<option>
<name>IccAllowVLA</name>
<state>0</state>
</option>
<option>
<name>IccCppDialect</name>
<state>1</state>
</option>
<option>
<name>IccExceptions</name>
<state>1</state>
</option>
<option>
<name>IccRTTI</name>
<state>1</state>
</option>
<option>
<name>IccStaticDestr</name>
<state>1</state>
</option>
<option>
<name>IccCppInlineSemantics</name>
<state>1</state>
</option>
<option>
<name>IccCmsis</name>
<state>1</state>
</option>
<option>
<name>IccFloatSemantics</name>
<state>0</state>
</option>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>9</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>AObjPrefix</name>
<state>1</state>
</option>
<option>
<name>AEndian</name>
<state>1</state>
</option>
<option>
<name>ACaseSensitivity</name>
<state>1</state>
</option>
<option>
<name>MacroChars</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>AWarnEnable</name>
<state>0</state>
</option>
<option>
<name>AWarnWhat</name>
<state>0</state>
</option>
<option>
<name>AWarnOne</name>
<state></state>
</option>
<option>
<name>AWarnRange1</name>
<state></state>
</option>
<option>
<name>AWarnRange2</name>
<state></state>
</option>
<option>
<name>ADebug</name>
<state>1</state>
</option>
<option>
<name>AltRegisterNames</name>
<state>0</state>
</option>
<option>
<name>ADefines</name>
<state>ewarm</state>
</option>
<option>
<name>AList</name>
<state>0</state>
</option>
<option>
<name>AListHeader</name>
<state>1</state>
</option>
<option>
<name>AListing</name>
<state>1</state>
</option>
<option>
<name>Includes</name>
<state>0</state>
</option>
<option>
<name>MacDefs</name>
<state>0</state>
</option>
<option>
<name>MacExps</name>
<state>1</state>
</option>
<option>
<name>MacExec</name>
<state>0</state>
</option>
<option>
<name>OnlyAssed</name>
<state>0</state>
</option>
<option>
<name>MultiLine</name>
<state>0</state>
</option>
<option>
<name>PageLengthCheck</name>
<state>0</state>
</option>
<option>
<name>PageLength</name>
<state>80</state>
</option>
<option>
<name>TabSpacing</name>
<state>8</state>
</option>
<option>
<name>AXRef</name>
<state>0</state>
</option>
<option>
<name>AXRefDefines</name>
<state>0</state>
</option>
<option>
<name>AXRefInternal</name>
<state>0</state>
</option>
<option>
<name>AXRefDual</name>
<state>0</state>
</option>
<option>
<name>AProcessor</name>
<state>1</state>
</option>
<option>
<name>AFpuProcessor</name>
<state>1</state>
</option>
<option>
<name>AOutputFile</name>
<state>$FILE_BNAME$.o</state>
</option>
<option>
<name>AMultibyteSupport</name>
<state>0</state>
</option>
<option>
<name>ALimitErrorsCheck</name>
<state>0</state>
</option>
<option>
<name>ALimitErrorsEdit</name>
<state>100</state>
</option>
<option>
<name>AIgnoreStdInclude</name>
<state>0</state>
</option>
<option>
<name>AUserIncludes</name>
<state>$PROJ_DIR$\..\..\..\..</state>
</option>
<option>
<name>AExtraOptionsCheckV2</name>
<state>0</state>
</option>
<option>
<name>AExtraOptionsV2</name>
<state></state>
</option>
<option>
<name>AsmNoLiteralPool</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>OBJCOPY</name>
<archiveVersion>0</archiveVersion>
<data>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<state>2</state>
</option>
<option>
<name>OCOutputOverride</name>
<state>0</state>
</option>
<option>
<name>OOCOutputFile</name>
<state>wolfCrypt-benchmark.bin</state>
</option>
<option>
<name>OOCCommandLineProducer</name>
<state>1</state>
</option>
<option>
<name>OOCObjCopyEnable</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>CUSTOM</name>
<archiveVersion>3</archiveVersion>
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
<name>BICOMP</name>
<archiveVersion>0</archiveVersion>
<data/>
</settings>
<settings>
<name>BUILDACTION</name>
<archiveVersion>1</archiveVersion>
<data>
<prebuild></prebuild>
<postbuild></postbuild>
</data>
</settings>
<settings>
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IlinkLibIOConfig</name>
<state>1</state>
</option>
<option>
<name>XLinkMisraHandler</name>
<state>0</state>
</option>
<option>
<name>IlinkInputFileSlave</name>
<state>0</state>
</option>
<option>
<name>IlinkOutputFile</name>
<state>benchmark.out</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
<state>1</state>
</option>
<option>
<name>IlinkKeepSymbols</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryFile</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySymbol</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySegment</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryAlign</name>
<state></state>
</option>
<option>
<name>IlinkDefines</name>
<state></state>
</option>
<option>
<name>IlinkConfigDefines</name>
<state></state>
</option>
<option>
<name>IlinkMapFile</name>
<state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
<state>0</state>
</option>
<option>
<name>IlinkLogInitialization</name>
<state>0</state>
</option>
<option>
<name>IlinkLogModule</name>
<state>0</state>
</option>
<option>
<name>IlinkLogSection</name>
<state>0</state>
</option>
<option>
<name>IlinkLogVeneer</name>
<state>0</state>
</option>
<option>
<name>IlinkIcfOverride</name>
<state>1</state>
</option>
<option>
<name>IlinkIcfFile</name>
<state>$PROJ_DIR$\..\common\wolfssl.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
<state></state>
</option>
<option>
<name>IlinkEnableRemarks</name>
<state>0</state>
</option>
<option>
<name>IlinkSuppressDiags</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsRem</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsWarn</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsErr</name>
<state></state>
</option>
<option>
<name>IlinkWarningsAreErrors</name>
<state>0</state>
</option>
<option>
<name>IlinkUseExtraOptions</name>
<state>0</state>
</option>
<option>
<name>IlinkExtraOptions</name>
<state></state>
</option>
<option>
<name>IlinkLowLevelInterfaceSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkAutoLibEnable</name>
<state>1</state>
</option>
<option>
<name>IlinkAdditionalLibs</name>
<state></state>
</option>
<option>
<name>IlinkOverrideProgramEntryLabel</name>
<state>1</state>
</option>
<option>
<name>IlinkProgramEntryLabelSelect</name>
<state>0</state>
</option>
<option>
<name>IlinkProgramEntryLabel</name>
<state>__iar_program_start</state>
</option>
<option>
<name>DoFill</name>
<state>0</state>
</option>
<option>
<name>FillerByte</name>
<state>0xFF</state>
</option>
<option>
<name>FillerStart</name>
<state>0x0</state>
</option>
<option>
<name>FillerEnd</name>
<state>0x0</state>
</option>
<option>
<name>CrcSize</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CrcAlign</name>
<state>1</state>
</option>
<option>
<name>CrcPoly</name>
<state>0x11021</state>
</option>
<option>
<name>CrcCompl</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CrcBitOrder</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CrcInitialValue</name>
<state>0x0</state>
</option>
<option>
<name>DoCrc</name>
<state>0</state>
</option>
<option>
<name>IlinkBE8Slave</name>
<state>1</state>
</option>
<option>
<name>IlinkBufferedTerminalOutput</name>
<state>1</state>
</option>
<option>
<name>IlinkStdoutInterfaceSlave</name>
<state>1</state>
</option>
<option>
<name>CrcFullSize</name>
<state>0</state>
</option>
<option>
<name>IlinkIElfToolPostProcess</name>
<state>0</state>
</option>
<option>
<name>IlinkLogAutoLibSelect</name>
<state>0</state>
</option>
<option>
<name>IlinkLogRedirSymbols</name>
<state>0</state>
</option>
<option>
<name>IlinkLogUnusedFragments</name>
<state>0</state>
</option>
<option>
<name>IlinkCrcReverseByteOrder</name>
<state>0</state>
</option>
<option>
<name>IlinkCrcUseAsInput</name>
<state>1</state>
</option>
<option>
<name>IlinkOptInline</name>
<state>0</state>
</option>
<option>
<name>IlinkOptExceptionsAllow</name>
<state>1</state>
</option>
<option>
<name>IlinkOptExceptionsForce</name>
<state>0</state>
</option>
<option>
<name>IlinkCmsis</name>
<state>1</state>
</option>
<option>
<name>IlinkOptMergeDuplSections</name>
<state>0</state>
</option>
<option>
<name>IlinkOptUseVfe</name>
<state>1</state>
</option>
<option>
<name>IlinkOptForceVfe</name>
<state>0</state>
</option>
<option>
<name>IlinkStackAnalysisEnable</name>
<state>0</state>
</option>
<option>
<name>IlinkStackControlFile</name>
<state></state>
</option>
<option>
<name>IlinkStackCallGraphFile</name>
<state></state>
</option>
<option>
<name>CrcAlgorithm</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CrcUnitSize</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>IARCHIVE</name>
<archiveVersion>0</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IarchiveInputs</name>
<state></state>
</option>
<option>
<name>IarchiveOverride</name>
<state>0</state>
</option>
<option>
<name>IarchiveOutput</name>
<state>###Unitialized###</state>
</option>
</data>
</settings>
<settings>
<name>BILINK</name>
<archiveVersion>0</archiveVersion>
<data/>
</settings>
</configuration>
<group>
<name>Config</name>
<file>
<name>$PROJ_DIR$\..\user_settings.h</name>
</file>
</group>
<group>
<name>Lib</name>
<file>
<name>$PROJ_DIR$\..\lib\ewarm\Exe\wolfSSL-Lib.a</name>
</file>
</group>
<group>
<name>Source</name>
<file>
<name>$PROJ_DIR$\benchmark-main.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\wolfcrypt\benchmark\benchmark.c</name>
</file>
<file>
<name>$PROJ_DIR$\current_time.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\common\minimum-startup.c</name>
</file>
</group>
</project>

View File

@ -0,0 +1,53 @@
/* minimum-startup.c
*
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include <stdint.h>
#pragma language=extended
extern void __iar_program_start(void);
static void Reset(void)
{
__iar_program_start();
}
static void Nmi (void){ while(1) ; }
static void Fault(void){ while(1) ; }
static unsigned long long Stack[256*4*16] @ ".noinit";
typedef union
{
void (*Handler)(void);
uint32_t Ptr;
} Vector;
__root const Vector __vector_table[100] @ ".intvec" =
{
{ .Ptr = (uint32_t)Stack + sizeof(Stack) },
// stack top
Reset, // reset
Nmi, // NMI
Fault, // hard fault
Fault, // MPU fault
Fault, // bus fault
Fault, // usage fault
};

View File

@ -0,0 +1,11 @@
define memory mem with size = 4G;
define region FLASH = mem:[from 0x00000000 to 0x000fffff];
define region SRAM = mem:[from 0x20000000 to 0x2003ffff];
define block HEAP with alignment = 8, size = 0x00010000 { };
initialize by copy { readwrite };
do not initialize { section .noinit };
place at start of FLASH { readonly section .intvec };
place in FLASH { readonly };
place at start of SRAM { section VTABLE };
place in SRAM { readwrite, block HEAP };

View File

@ -12,7 +12,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
<version>25</version>
<version>26</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -81,7 +81,7 @@
</option>
<option>
<name>OCProductVersion</name>
<state>6.60.1.5099</state>
<state>7.20.1.7306</state>
</option>
<option>
<name>OCDynDriverList</name>
@ -89,7 +89,7 @@
</option>
<option>
<name>OCLastSavedByProductVersion</name>
<state>6.60.1.5099</state>
<state>7.20.1.7306</state>
</option>
<option>
<name>OCDownloadAttachToProgram</name>
@ -183,6 +183,30 @@
<name>OCAllMTBOptions</name>
<state>1</state>
</option>
<option>
<name>OCMulticoreNrOfCores</name>
<state>1</state>
</option>
<option>
<name>OCMulticoreMaster</name>
<state>0</state>
</option>
<option>
<name>OCMulticorePort</name>
<state>53461</state>
</option>
<option>
<name>OCMulticoreWorkspace</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveProject</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveConfiguration</name>
<state></state>
</option>
</data>
</settings>
<settings>
@ -257,7 +281,7 @@
<name>CMSISDAP_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>2</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -332,7 +356,7 @@
</option>
<option>
<name>RDICatchUndef</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>RDICatchSWI</name>
@ -340,11 +364,11 @@
</option>
<option>
<name>RDICatchData</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>RDICatchPrefetch</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>RDICatchIRQ</name>
@ -360,31 +384,31 @@
</option>
<option>
<name>CatchMMERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchNOCPERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchCHKERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchSTATERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchBUSERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchINTERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchHARDERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchDummy</name>
@ -398,6 +422,30 @@
<name>CMSISDAPMultiCPUNumber</name>
<state>0</state>
</option>
<option>
<name>OCProbeCfgOverride</name>
<state>0</state>
</option>
<option>
<name>OCProbeConfig</name>
<state></state>
</option>
<option>
<name>CMSISDAPProbeConfigRadio</name>
<state>0</state>
</option>
<option>
<name>CMSISDAPSelectedCPUBehaviour</name>
<state>0</state>
</option>
<option>
<name>ICpuName</name>
<state></state>
</option>
<option>
<name>OCJetEmuParams</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -472,7 +520,7 @@
<name>IJET_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>2</version>
<version>3</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -666,6 +714,10 @@
<name>ICpuName</name>
<state></state>
</option>
<option>
<name>OCJetEmuParams</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -677,7 +729,7 @@
<debug>1</debug>
<option>
<name>JLinkSpeed</name>
<state>32</state>
<state>1000</state>
</option>
<option>
<name>CCJLinkDoLogfile</name>
@ -697,7 +749,7 @@
</option>
<option>
<name>JLinkInitialSpeed</name>
<state>32</state>
<state>1000</state>
</option>
<option>
<name>CCDoJlinkMultiTarget</name>
@ -783,7 +835,7 @@
<option>
<name>CCJLinkResetList</name>
<version>6</version>
<state>7</state>
<state>5</state>
</option>
<option>
<name>CCJLinkInterfaceCmdLine</name>
@ -1207,7 +1259,7 @@
</option>
<option>
<name>CCXds100InterfaceList</name>
<version>1</version>
<version>2</version>
<state>0</state>
</option>
<option>
@ -1253,14 +1305,6 @@
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
@ -1269,6 +1313,10 @@
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
@ -1309,7 +1357,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
<version>25</version>
<version>26</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1378,7 +1426,7 @@
</option>
<option>
<name>OCProductVersion</name>
<state>6.60.1.5099</state>
<state>7.20.1.7306</state>
</option>
<option>
<name>OCDynDriverList</name>
@ -1480,6 +1528,30 @@
<name>OCAllMTBOptions</name>
<state>1</state>
</option>
<option>
<name>OCMulticoreNrOfCores</name>
<state>1</state>
</option>
<option>
<name>OCMulticoreMaster</name>
<state>0</state>
</option>
<option>
<name>OCMulticorePort</name>
<state>53461</state>
</option>
<option>
<name>OCMulticoreWorkspace</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveProject</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveConfiguration</name>
<state></state>
</option>
</data>
</settings>
<settings>
@ -1554,7 +1626,7 @@
<name>CMSISDAP_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>2</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1629,7 +1701,7 @@
</option>
<option>
<name>RDICatchUndef</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>RDICatchSWI</name>
@ -1637,11 +1709,11 @@
</option>
<option>
<name>RDICatchData</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>RDICatchPrefetch</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>RDICatchIRQ</name>
@ -1657,31 +1729,31 @@
</option>
<option>
<name>CatchMMERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchNOCPERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchCHKERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchSTATERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchBUSERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchINTERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchHARDERR</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CatchDummy</name>
@ -1695,6 +1767,30 @@
<name>CMSISDAPMultiCPUNumber</name>
<state>0</state>
</option>
<option>
<name>OCProbeCfgOverride</name>
<state>0</state>
</option>
<option>
<name>OCProbeConfig</name>
<state></state>
</option>
<option>
<name>CMSISDAPProbeConfigRadio</name>
<state>0</state>
</option>
<option>
<name>CMSISDAPSelectedCPUBehaviour</name>
<state>0</state>
</option>
<option>
<name>ICpuName</name>
<state></state>
</option>
<option>
<name>OCJetEmuParams</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -1769,7 +1865,7 @@
<name>IJET_ID</name>
<archiveVersion>2</archiveVersion>
<data>
<version>2</version>
<version>3</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1963,6 +2059,10 @@
<name>ICpuName</name>
<state></state>
</option>
<option>
<name>OCJetEmuParams</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -1974,7 +2074,7 @@
<debug>0</debug>
<option>
<name>JLinkSpeed</name>
<state>32</state>
<state>1000</state>
</option>
<option>
<name>CCJLinkDoLogfile</name>
@ -1994,7 +2094,7 @@
</option>
<option>
<name>JLinkInitialSpeed</name>
<state>32</state>
<state>1000</state>
</option>
<option>
<name>CCDoJlinkMultiTarget</name>
@ -2504,7 +2604,7 @@
</option>
<option>
<name>CCXds100InterfaceList</name>
<version>1</version>
<version>2</version>
<state>0</state>
</option>
<option>
@ -2550,14 +2650,6 @@
<file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
@ -2566,6 +2658,10 @@
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
/* test-main.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,10 +16,11 @@
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
typedef struct func_args {
int argc;
char** argv;
@ -28,9 +29,10 @@ typedef struct func_args {
func_args args = { 0 } ;
extern int ctaocrypt_test(void *args) ;
extern int wolfcrypt_test(void *args) ;
main(void) {
ctaocrypt_test(&args) ;
wolfcrypt_test(&args) ;
return 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,978 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<configuration>
<name>Debug</name>
<toolchain>
<name>ARM</name>
</toolchain>
<debug>1</debug>
<settings>
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>ExePath</name>
<state>ewarm\Exe</state>
</option>
<option>
<name>ObjPath</name>
<state>ewarm\Obj</state>
</option>
<option>
<name>ListPath</name>
<state>ewarm\List</state>
</option>
<option>
<name>Variant</name>
<version>21</version>
<state>40</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
</option>
<option>
<name>Input variant</name>
<version>3</version>
<state>6</state>
</option>
<option>
<name>Input description</name>
<state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state>
</option>
<option>
<name>Output variant</name>
<version>2</version>
<state>4</state>
</option>
<option>
<name>Output description</name>
<state>No specifier a, A, without multibyte support.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>4</version>
<state>6</state>
</option>
<option>
<name>OGCoreOrChip</name>
<state>0</state>
</option>
<option>
<name>GRuntimeLibSelect</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>GRuntimeLibSelectSlave</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>RTDescription</name>
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
</option>
<option>
<name>OGProductVersion</name>
<state>5.11.0.50579</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>7.40.1.8463</state>
</option>
<option>
<name>GeneralEnableMisra</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraVerbose</name>
<state>0</state>
</option>
<option>
<name>OGChipSelectEditMenu</name>
<state>Default None</state>
</option>
<option>
<name>GenLowLevelInterface</name>
<state>1</state>
</option>
<option>
<name>GEndianModeBE</name>
<state>1</state>
</option>
<option>
<name>OGBufferedTerminalOutput</name>
<state>0</state>
</option>
<option>
<name>GenStdoutInterface</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraRules98</name>
<version>0</version>
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
</option>
<option>
<name>GeneralMisraVer</name>
<state>0</state>
</option>
<option>
<name>GeneralMisraRules04</name>
<version>0</version>
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
</option>
<option>
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>21</version>
<state>40</state>
</option>
<option>
<name>GBECoreSlave</name>
<version>21</version>
<state>40</state>
</option>
<option>
<name>OGUseCmsis</name>
<state>0</state>
</option>
<option>
<name>OGUseCmsisDspLib</name>
<state>0</state>
</option>
<option>
<name>GRuntimeLibThreads</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>CCDefines</name>
<state>ewarm</state>
<state>PART_TM4C129XNCZAD</state>
<state>WOLFSSL_USER_SETTINGS</state>
<state>TARGET_IS_SNOWFLAKE_RA0</state>
</option>
<option>
<name>CCPreprocFile</name>
<state>0</state>
</option>
<option>
<name>CCPreprocComments</name>
<state>0</state>
</option>
<option>
<name>CCPreprocLine</name>
<state>0</state>
</option>
<option>
<name>CCListCFile</name>
<state>0</state>
</option>
<option>
<name>CCListCMnemonics</name>
<state>0</state>
</option>
<option>
<name>CCListCMessages</name>
<state>0</state>
</option>
<option>
<name>CCListAssFile</name>
<state>0</state>
</option>
<option>
<name>CCListAssSource</name>
<state>0</state>
</option>
<option>
<name>CCEnableRemarks</name>
<state>0</state>
</option>
<option>
<name>CCDiagSuppress</name>
<state>Pa050</state>
</option>
<option>
<name>CCDiagRemark</name>
<state></state>
</option>
<option>
<name>CCDiagWarning</name>
<state></state>
</option>
<option>
<name>CCDiagError</name>
<state></state>
</option>
<option>
<name>CCObjPrefix</name>
<state>1</state>
</option>
<option>
<name>CCAllowList</name>
<version>1</version>
<state>11111110</state>
</option>
<option>
<name>CCDebugInfo</name>
<state>1</state>
</option>
<option>
<name>IEndianMode</name>
<state>1</state>
</option>
<option>
<name>IProcessor</name>
<state>1</state>
</option>
<option>
<name>IExtraOptionsCheck</name>
<state>0</state>
</option>
<option>
<name>IExtraOptions</name>
<state></state>
</option>
<option>
<name>CCLangConformance</name>
<state>0</state>
</option>
<option>
<name>CCSignedPlainChar</name>
<state>1</state>
</option>
<option>
<name>CCRequirePrototypes</name>
<state>0</state>
</option>
<option>
<name>CCMultibyteSupport</name>
<state>0</state>
</option>
<option>
<name>CCDiagWarnAreErr</name>
<state>0</state>
</option>
<option>
<name>CCCompilerRuntimeInfo</name>
<state>0</state>
</option>
<option>
<name>IFpuProcessor</name>
<state>1</state>
</option>
<option>
<name>OutputFile</name>
<state>$FILE_BNAME$.o</state>
</option>
<option>
<name>CCLibConfigHeader</name>
<state>1</state>
</option>
<option>
<name>PreInclude</name>
<state></state>
</option>
<option>
<name>CompilerMisraOverride</name>
<state>0</state>
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\..\..\..</state>
<state>$PROJ_DIR$\..\</state>
<state>$PROJ_DIR$\..\..\..\..\..</state>
</option>
<option>
<name>CCStdIncCheck</name>
<state>0</state>
</option>
<option>
<name>CCCodeSection</name>
<state>.text</state>
</option>
<option>
<name>IInterwork2</name>
<state>0</state>
</option>
<option>
<name>IProcessorMode2</name>
<state>1</state>
</option>
<option>
<name>CCOptLevel</name>
<state>3</state>
</option>
<option>
<name>CCOptStrategy</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CCOptLevelSlave</name>
<state>3</state>
</option>
<option>
<name>CompilerMisraRules98</name>
<version>0</version>
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
</option>
<option>
<name>CompilerMisraRules04</name>
<version>0</version>
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
</option>
<option>
<name>CCPosIndRopi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndRwpi</name>
<state>0</state>
</option>
<option>
<name>CCPosIndNoDynInit</name>
<state>0</state>
</option>
<option>
<name>IccLang</name>
<state>0</state>
</option>
<option>
<name>IccCDialect</name>
<state>1</state>
</option>
<option>
<name>IccAllowVLA</name>
<state>0</state>
</option>
<option>
<name>IccCppDialect</name>
<state>1</state>
</option>
<option>
<name>IccExceptions</name>
<state>1</state>
</option>
<option>
<name>IccRTTI</name>
<state>1</state>
</option>
<option>
<name>IccStaticDestr</name>
<state>1</state>
</option>
<option>
<name>IccCppInlineSemantics</name>
<state>1</state>
</option>
<option>
<name>IccCmsis</name>
<state>1</state>
</option>
<option>
<name>IccFloatSemantics</name>
<state>0</state>
</option>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>9</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>AObjPrefix</name>
<state>1</state>
</option>
<option>
<name>AEndian</name>
<state>1</state>
</option>
<option>
<name>ACaseSensitivity</name>
<state>1</state>
</option>
<option>
<name>MacroChars</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>AWarnEnable</name>
<state>0</state>
</option>
<option>
<name>AWarnWhat</name>
<state>0</state>
</option>
<option>
<name>AWarnOne</name>
<state></state>
</option>
<option>
<name>AWarnRange1</name>
<state></state>
</option>
<option>
<name>AWarnRange2</name>
<state></state>
</option>
<option>
<name>ADebug</name>
<state>1</state>
</option>
<option>
<name>AltRegisterNames</name>
<state>0</state>
</option>
<option>
<name>ADefines</name>
<state>ewarm</state>
</option>
<option>
<name>AList</name>
<state>0</state>
</option>
<option>
<name>AListHeader</name>
<state>1</state>
</option>
<option>
<name>AListing</name>
<state>1</state>
</option>
<option>
<name>Includes</name>
<state>0</state>
</option>
<option>
<name>MacDefs</name>
<state>0</state>
</option>
<option>
<name>MacExps</name>
<state>1</state>
</option>
<option>
<name>MacExec</name>
<state>0</state>
</option>
<option>
<name>OnlyAssed</name>
<state>0</state>
</option>
<option>
<name>MultiLine</name>
<state>0</state>
</option>
<option>
<name>PageLengthCheck</name>
<state>0</state>
</option>
<option>
<name>PageLength</name>
<state>80</state>
</option>
<option>
<name>TabSpacing</name>
<state>8</state>
</option>
<option>
<name>AXRef</name>
<state>0</state>
</option>
<option>
<name>AXRefDefines</name>
<state>0</state>
</option>
<option>
<name>AXRefInternal</name>
<state>0</state>
</option>
<option>
<name>AXRefDual</name>
<state>0</state>
</option>
<option>
<name>AProcessor</name>
<state>1</state>
</option>
<option>
<name>AFpuProcessor</name>
<state>1</state>
</option>
<option>
<name>AOutputFile</name>
<state>$FILE_BNAME$.o</state>
</option>
<option>
<name>AMultibyteSupport</name>
<state>0</state>
</option>
<option>
<name>ALimitErrorsCheck</name>
<state>0</state>
</option>
<option>
<name>ALimitErrorsEdit</name>
<state>100</state>
</option>
<option>
<name>AIgnoreStdInclude</name>
<state>0</state>
</option>
<option>
<name>AUserIncludes</name>
<state>$PROJ_DIR$\..\..\..\..</state>
</option>
<option>
<name>AExtraOptionsCheckV2</name>
<state>0</state>
</option>
<option>
<name>AExtraOptionsV2</name>
<state></state>
</option>
<option>
<name>AsmNoLiteralPool</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>OBJCOPY</name>
<archiveVersion>0</archiveVersion>
<data>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<state>2</state>
</option>
<option>
<name>OCOutputOverride</name>
<state>0</state>
</option>
<option>
<name>OOCOutputFile</name>
<state>wolfCrypt-test.bin</state>
</option>
<option>
<name>OOCCommandLineProducer</name>
<state>1</state>
</option>
<option>
<name>OOCObjCopyEnable</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>CUSTOM</name>
<archiveVersion>3</archiveVersion>
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
<name>BICOMP</name>
<archiveVersion>0</archiveVersion>
<data/>
</settings>
<settings>
<name>BUILDACTION</name>
<archiveVersion>1</archiveVersion>
<data>
<prebuild></prebuild>
<postbuild></postbuild>
</data>
</settings>
<settings>
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IlinkLibIOConfig</name>
<state>1</state>
</option>
<option>
<name>XLinkMisraHandler</name>
<state>0</state>
</option>
<option>
<name>IlinkInputFileSlave</name>
<state>0</state>
</option>
<option>
<name>IlinkOutputFile</name>
<state>test.out</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
<state>1</state>
</option>
<option>
<name>IlinkKeepSymbols</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryFile</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySymbol</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySegment</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryAlign</name>
<state></state>
</option>
<option>
<name>IlinkDefines</name>
<state></state>
</option>
<option>
<name>IlinkConfigDefines</name>
<state></state>
</option>
<option>
<name>IlinkMapFile</name>
<state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
<state>0</state>
</option>
<option>
<name>IlinkLogInitialization</name>
<state>0</state>
</option>
<option>
<name>IlinkLogModule</name>
<state>0</state>
</option>
<option>
<name>IlinkLogSection</name>
<state>0</state>
</option>
<option>
<name>IlinkLogVeneer</name>
<state>0</state>
</option>
<option>
<name>IlinkIcfOverride</name>
<state>1</state>
</option>
<option>
<name>IlinkIcfFile</name>
<state>$PROJ_DIR$\..\common\wolfssl.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
<state></state>
</option>
<option>
<name>IlinkEnableRemarks</name>
<state>0</state>
</option>
<option>
<name>IlinkSuppressDiags</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsRem</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsWarn</name>
<state></state>
</option>
<option>
<name>IlinkTreatAsErr</name>
<state></state>
</option>
<option>
<name>IlinkWarningsAreErrors</name>
<state>0</state>
</option>
<option>
<name>IlinkUseExtraOptions</name>
<state>0</state>
</option>
<option>
<name>IlinkExtraOptions</name>
<state></state>
</option>
<option>
<name>IlinkLowLevelInterfaceSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkAutoLibEnable</name>
<state>1</state>
</option>
<option>
<name>IlinkAdditionalLibs</name>
<state></state>
</option>
<option>
<name>IlinkOverrideProgramEntryLabel</name>
<state>1</state>
</option>
<option>
<name>IlinkProgramEntryLabelSelect</name>
<state>0</state>
</option>
<option>
<name>IlinkProgramEntryLabel</name>
<state>__iar_program_start</state>
</option>
<option>
<name>DoFill</name>
<state>0</state>
</option>
<option>
<name>FillerByte</name>
<state>0xFF</state>
</option>
<option>
<name>FillerStart</name>
<state>0x0</state>
</option>
<option>
<name>FillerEnd</name>
<state>0x0</state>
</option>
<option>
<name>CrcSize</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CrcAlign</name>
<state>1</state>
</option>
<option>
<name>CrcPoly</name>
<state>0x11021</state>
</option>
<option>
<name>CrcCompl</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CrcBitOrder</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CrcInitialValue</name>
<state>0x0</state>
</option>
<option>
<name>DoCrc</name>
<state>0</state>
</option>
<option>
<name>IlinkBE8Slave</name>
<state>1</state>
</option>
<option>
<name>IlinkBufferedTerminalOutput</name>
<state>1</state>
</option>
<option>
<name>IlinkStdoutInterfaceSlave</name>
<state>1</state>
</option>
<option>
<name>CrcFullSize</name>
<state>0</state>
</option>
<option>
<name>IlinkIElfToolPostProcess</name>
<state>0</state>
</option>
<option>
<name>IlinkLogAutoLibSelect</name>
<state>0</state>
</option>
<option>
<name>IlinkLogRedirSymbols</name>
<state>0</state>
</option>
<option>
<name>IlinkLogUnusedFragments</name>
<state>0</state>
</option>
<option>
<name>IlinkCrcReverseByteOrder</name>
<state>0</state>
</option>
<option>
<name>IlinkCrcUseAsInput</name>
<state>1</state>
</option>
<option>
<name>IlinkOptInline</name>
<state>0</state>
</option>
<option>
<name>IlinkOptExceptionsAllow</name>
<state>1</state>
</option>
<option>
<name>IlinkOptExceptionsForce</name>
<state>0</state>
</option>
<option>
<name>IlinkCmsis</name>
<state>1</state>
</option>
<option>
<name>IlinkOptMergeDuplSections</name>
<state>0</state>
</option>
<option>
<name>IlinkOptUseVfe</name>
<state>1</state>
</option>
<option>
<name>IlinkOptForceVfe</name>
<state>0</state>
</option>
<option>
<name>IlinkStackAnalysisEnable</name>
<state>0</state>
</option>
<option>
<name>IlinkStackControlFile</name>
<state></state>
</option>
<option>
<name>IlinkStackCallGraphFile</name>
<state></state>
</option>
<option>
<name>CrcAlgorithm</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>CrcUnitSize</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>IARCHIVE</name>
<archiveVersion>0</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IarchiveInputs</name>
<state></state>
</option>
<option>
<name>IarchiveOverride</name>
<state>0</state>
</option>
<option>
<name>IarchiveOutput</name>
<state>###Unitialized###</state>
</option>
</data>
</settings>
<settings>
<name>BILINK</name>
<archiveVersion>0</archiveVersion>
<data/>
</settings>
</configuration>
<group>
<name>Config</name>
<file>
<name>$PROJ_DIR$\..\user_settings.h</name>
</file>
</group>
<group>
<name>Lib</name>
<file>
<name>$PROJ_DIR$\..\lib\ewarm\Exe\wolfSSL-Lib.a</name>
</file>
</group>
<group>
<name>Source</name>
<file>
<name>$PROJ_DIR$\..\common\minimum-startup.c</name>
</file>
<file>
<name>$PROJ_DIR$\test-main.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\wolfcrypt\test\test.c</name>
</file>
</group>
</project>

View File

@ -0,0 +1,15 @@
#define NO_MAIN_DRIVER
#define BENCH_EMBEDDED
#define SINGLE_THREADED
#define NO_FILESYSTEM
#define NO_WRITEV
#define WOLFSSL_USER_IO
#define NO_DEV_RANDOM
#define USE_CERT_BUFFERS_2048
#define WOLFSSL_USER_CURRTIME
#define SIZEOF_LONG_LONG 8
#define CUSTOM_RAND_GENERATE custom_rand_generate
/* warning "write a real random seed!!!!, just for testing now" */
static int custom_rand_generate(void) { return 0 ; }

View File

@ -0,0 +1,224 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<workspace>
<project>
<path>$WS_DIR$\benchmark\wolfCrypt-benchmark.ewp</path>
</project>
<project>
<path>$WS_DIR$\test\wolfCrypt-test.ewp</path>
</project>
<project>
<path>$WS_DIR$\lib\wolfSSL-Lib.ewp</path>
</project>
<batchBuild>
<batchDefinition>
<name>All Examples</name>
<member>
<project>driverlib</project>
<configuration>Debug</configuration>
</member>
<member>
<project>grlib</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usblib</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_cbc_decrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_cbc_encrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_ccm_decrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_ccm_encrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_cmac</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_ecb_decrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_ecb_encrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_gcm_decrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>aes128_gcm_encrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>bitband</project>
<configuration>Debug</configuration>
</member>
<member>
<project>blinky</project>
<configuration>Debug</configuration>
</member>
<member>
<project>boot_demo_uart</project>
<configuration>Debug</configuration>
</member>
<member>
<project>boot_demo_usb</project>
<configuration>Debug</configuration>
</member>
<member>
<project>calibrate</project>
<configuration>Debug</configuration>
</member>
<member>
<project>crc32</project>
<configuration>Debug</configuration>
</member>
<member>
<project>enet_io</project>
<configuration>Debug</configuration>
</member>
<member>
<project>enet_lwip</project>
<configuration>Debug</configuration>
</member>
<member>
<project>enet_uip</project>
<configuration>Debug</configuration>
</member>
<member>
<project>fontview</project>
<configuration>Debug</configuration>
</member>
<member>
<project>gpio_jtag</project>
<configuration>Debug</configuration>
</member>
<member>
<project>grlib_demo</project>
<configuration>Debug</configuration>
</member>
<member>
<project>hello</project>
<configuration>Debug</configuration>
</member>
<member>
<project>hello_widget</project>
<configuration>Debug</configuration>
</member>
<member>
<project>hibernate</project>
<configuration>Debug</configuration>
</member>
<member>
<project>interrupts</project>
<configuration>Debug</configuration>
</member>
<member>
<project>lang_demo</project>
<configuration>Debug</configuration>
</member>
<member>
<project>mpu_fault</project>
<configuration>Debug</configuration>
</member>
<member>
<project>qs_weather</project>
<configuration>Debug</configuration>
</member>
<member>
<project>scribble</project>
<configuration>Debug</configuration>
</member>
<member>
<project>sd_card</project>
<configuration>Debug</configuration>
</member>
<member>
<project>sha1_hash</project>
<configuration>Debug</configuration>
</member>
<member>
<project>sha1_hmac</project>
<configuration>Debug</configuration>
</member>
<member>
<project>synth</project>
<configuration>Debug</configuration>
</member>
<member>
<project>tamper</project>
<configuration>Debug</configuration>
</member>
<member>
<project>tdes_cbc_decrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>tdes_cbc_encrypt</project>
<configuration>Debug</configuration>
</member>
<member>
<project>timers</project>
<configuration>Debug</configuration>
</member>
<member>
<project>uart_echo</project>
<configuration>Debug</configuration>
</member>
<member>
<project>udma_demo</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_dev_bulk</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_dev_keyboard</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_dev_msc</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_host_hub</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_host_msc</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_otg_mouse</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_stick_demo</project>
<configuration>Debug</configuration>
</member>
<member>
<project>usb_stick_update</project>
<configuration>Debug</configuration>
</member>
<member>
<project>watchdog</project>
<configuration>Debug</configuration>
</member>
</batchDefinition>
</batchBuild>
</workspace>

View File

@ -4,41 +4,46 @@ This directory contains project files for IAR EWARM IDE. These
projects have been set up to generic ARM Cortex-M MPUs.
In order to generate project for specific target MPU, take following steps.
** Note ** regarding Segger Embedded Operating System (embOS)
The directory embOS contains projects specifically for embOS on IAR-EWARM.
Only use this directory if you are building an IAR Workbench project that
uses embOS
Included Project Files
-----------------------
1. Workspace: CyaSSL-Lib.eww
The workspace includes CyaSSL-Lib library and wolfCrypt-test, wolfCrypt-benchmark
executable projects. The library project generates full set library of wolfCrypt
and CyaSSL functions.
1. Workspace: wolfssl.eww
The workspace includes wolfSSL-Lib library and wolfCrypt-test, wolfCrypt-benchmark
executable projects.
2. Test suites Project: wolfCrypt-test.ewp
2. wolfSSL-Lib Project: lib/wolfSSL-lib.ewp
generates full set library of wolfCrypt and wolfSSL functions.
3. Test suites Project: test/wolfCrypt-test.ewp
generates test.out test suites executable
3. Benchmark Project: wolfCrypt-benchmark.ewp
4. Benchmark Project: benchmark/wolfCrypt-benchmark.ewp
generates benchmark.out benchmark executable
Set Up Steps
------------
0. Default Setting
Default Target of the projects are set to Cortex-M3 Simulator.
For check the projects, you can build and download to the simulator.
user_settings.h includes default options for the projects.
You can build and download the to the simulator.
Open Terminal I/O window, by "view"->"Terminal I/O", and start execution.
1. Project option settings
For each project,...
General Options: Choose appropriate "Target" options
For executable projects,...
2. For executable projects,...
Add "SystemInit" and "startup" for your MPU
Debugger: Choose your debug "Driver"
2. For benchmark project,...
Write your own "current_time" benchmark timer under "defined(CYASSL_IAR_ARM)" in benchmark.c
3. settings.h
Uncomment the "CYASSL_IAR_ARM" define located in:
<cyassl_root>/cyassl/ctaocrypt/settings.
3. For benchmark project,...
Choose option for current_time function.
Or write own "current_time" benchmark timer with WOLFSSL_USER_CURRTIME option.
4. Build and download
Go to "Project->Make" and "Download and Debug" in Menu bar for EWARM build and download.

6
IDE/IAR-EWARM/embOS/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
*.bat
*.xcl
*.crun
*.dbgdt
*.dni

View File

@ -0,0 +1,28 @@
#-----------------------------------------------------------------------------#
wolfSSL + embOS + IAR Workbench
#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------#
For building the existing examples on a SAMV71_Explained_Ultra with Cortex M7
#-----------------------------------------------------------------------------#
See SAMV71_XULT\<example>\README_<example>
I.E. SAMV71_XULT\embOS_wolfcrypt_lib_SAMV71_XULT\README_wolfcrypt_lib
#-----------------------------------------------------------------------------#
For building wolfssl on a new CPU that is supported by embOS in IAR Workbench
#-----------------------------------------------------------------------------#
See custom_port\README_custom_port
#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------#
Thank you for choosing wolfSSL if you ever have any questions please contact us!
support@wolfssl.com
info@wolfssl.com
Copyright © 2016 wolfSSL Inc. All rights reserved.

View File

@ -0,0 +1,14 @@
Each example project here has it's own README please follow them in detail.
embOS_wolfcrypt_benchmark_SAMV71_XULT\README_wolfcrypt_benchmark
embOS_wolfcrypt_lib_SAMV71_XULT\README_wolfcrypt_lib
embOS_wolfcrypt_test_SAMV71_XULT\README_wolfcrypt_test
Thank you for using this guide and we hope this is helpful to you. If you have
any suggestions / feedback for us please contact us:
support@wolfssl.com
info@wolfssl.com
Copyright © 2016 wolfSSL Inc. All rights reserved.

View File

@ -0,0 +1,33 @@
/*
* A simple example for evaluation purposes written from scratch by wolfSSL Inc
*/
/*###ICF### ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00400000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_RAM_start__ = 0x20400000;
define symbol __ICFEDIT_region_RAM_end__ = 0x20459999;
define symbol __ICFEDIT_region_ROM_start__ = 0x00400000;
define symbol __ICFEDIT_region_ROM_end__ = 0x00599999;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_heap__ = 0x13000;
/**** ###ICF###*/
define memory mem with size = 4G;
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
initialize by copy { readwrite };
do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP };

View File

@ -0,0 +1,67 @@
#ifndef _EMBOS_USER_SETTINGS_H_
#define _EMBOS_USER_SETTINGS_H_
#undef WOLFSSL_EMBOS
#define WOLFSSL_EMBOS
#undef WOLFCRYPT_ONLY
#define WOLFCRYPT_ONLY
#undef NO_64BIT
#define NO_64BIT
#undef SIZEOF_LONG
#define SIZEOF_LONG 4
#undef SIZEOF_LONG_LONG
#define SIZEOF_LONG_LONG 8
#undef USE_FAST_MATH
#define USE_FAST_MATH
#undef HAVE_CHACHA
#define HAVE_CHACHA
#undef HAVE_POLY1305
#define HAVE_POLY1305
#undef ECC_SHAMIR
#define ECC_SHAMIR
#undef HAVE_ECC
#define HAVE_ECC
#undef ECC_USER_CURVES
#define ECC_USER_CURVES
#undef ECC_ALT_SIZE
#define ECC_ALT_SIZE
#undef FP_MAX_BITS_ECC
#define FP_MAX_BITS_ECC 528
#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
#undef WOLFSSL_SHA512
#define WOLFSSL_SHA512
#undef WOLFSSL_SHA384
#define WOLFSSL_SHA384
#undef HAVE_AESGCM
#define HAVE_AESGCM
#undef NO_INLINE
#define NO_INLINE
#undef BENCH_EMBEDDED
#define BENCH_EMBEDDED
#undef WOLFSSL_SMALL_STACK
#define WOLFSSL_SMALL_STACK
#undef USE_WOLFSSL_MEMORY
#define USE_WOLFSSL_MEMORY
#endif /* _EMBOS_USER_SETTINGS_H_ */

View File

@ -0,0 +1,43 @@
#ifndef _EMBOS_USER_SETTINGS_H_
#define _EMBOS_USER_SETTINGS_H_
#undef WOLFCRYPT_ONLY
#define WOLFCRYPT_ONLY
#undef NO_64BIT
#define NO_64BIT
#undef SIZEOF_LONG
#define SIZEOF_LONG 4
#undef SIZEOF_LONG_LONG
#define SIZEOF_LONG_LONG 8
#undef HAVE_CHACHA
#define HAVE_CHACHA
#undef HAVE_POLY1305
#define HAVE_POLY1305
#undef ECC_SHAMIR
#define ECC_SHAMIR
#undef HAVE_ECC
#define HAVE_ECC
#undef WOLFSSL_SHA512
#define WOLFSSL_SHA512
#undef WOLFSSL_SHA384
#define WOLFSSL_SHA384
#undef HAVE_AESGCM
#define HAVE_AESGCM
#undef NO_INLINE
#define NO_INLINE
#undef BENCH_EMBEDDED
#define BENCH_EMBEDDED
#endif /* _EMBOS_USER_SETTINGS_H_ */

View File

@ -0,0 +1,191 @@
#ifndef _EMBOS_USER_SETTINGS_H_
#define _EMBOS_USER_SETTINGS_H_
/* ------------------------------------------------------------------------- */
/* Platform */
/* ------------------------------------------------------------------------- */
#undef NO_INLINE
#define NO_INLINE
#undef SINGLE_THREADED
#define SINGLE_THREADED
#undef WOLFSSL_SMALL_STACK
#define WOLFSSL_SMALL_STACK
/* ------------------------------------------------------------------------- */
/* Math Configuration */
/* ------------------------------------------------------------------------- */
#undef NO_64BIT
#define NO_64BIT
#ifndef SIZEOF_LONG
#define SIZEOF_LONG 4
#endif
#ifndef SIZEOF_LONG_LONG
#define SIZEOF_LONG_LONG 8
#endif
#undef USE_FAST_MATH
#define USE_FAST_MATH
#ifdef USE_FAST_MATH
#undef TFM_TIMING_RESISTANT
// #define TFM_TIMING_RESISTANT
/* Optimizations (TFM_ARM, TFM_ASM or none) */
#undef TFM_ARM
// #define TFM_ARM
#undef TFM_ASM
//#define TFM_ASM
#endif
/* ------------------------------------------------------------------------- */
/* Crypto */
/* ------------------------------------------------------------------------- */
#undef WOLFCRYPT_ONLY
#define WOLFCRYPT_ONLY
/* ECC */
#if 1
#undef HAVE_ECC
#define HAVE_ECC
/* Manually define enabled curves */
#undef ECC_USER_CURVES
#define ECC_USER_CURVES
#define HAVE_ECC192
#define HAVE_ECC224
#undef NO_ECC256
#define HAVE_ECC384
#define HAVE_ECC521
/* 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 USE_FAST_MATH
/* Max ECC bits (curve size * 8). ECC521 is (66*8) = 528. */
#undef ALT_ECC_SIZE
#define ALT_ECC_SIZE
#undef FP_MAX_BITS_ECC
#define FP_MAX_BITS_ECC 528
/* Enable TFM optimizations for ECC */
#define TFM_ECC192
#define TFM_ECC224
#define TFM_ECC256
#define TFM_ECC384
#define TFM_ECC521
#endif
#endif
/* RSA */
#undef NO_RSA
#if 1
#ifdef USE_FAST_MATH
/* Maximum math bits (Max RSA key bits * 2) */
#undef FP_MAX_BITS
#define FP_MAX_BITS 4096
#endif
/* half as much memory but twice as slow */
#undef RSA_LOW_MEM
//#define RSA_LOW_MEM
#else
#define NO_RSA
#endif
/* AES */
#undef NO_AES
#if 1
#undef HAVE_AESGCM
#define HAVE_AESGCM
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
#undef GCM_SMALL
#define GCM_SMALL
#else
#define NO_AES
#endif
/* ChaCha20 / Poly1305 */
#undef HAVE_CHACHA
#undef HAVE_POLY1305
#if 1
#define HAVE_CHACHA
#define HAVE_POLY1305
/* Needed for Poly1305 */
#undef HAVE_ONE_TIME_AUTH
#define HAVE_ONE_TIME_AUTH
#endif
/* ------------------------------------------------------------------------- */
/* Hashing */
/* ------------------------------------------------------------------------- */
/* Sha */
#undef NO_SHA
#if 1
#else
#define NO_SHA
#endif
/* Sha256 */
#undef NO_SHA256
#if 1
/* over twice as small, but 50% slower */
//#define USE_SLOW_SHA2
#else
#define NO_SHA256
#endif
/* Sha512 */
#undef WOLFSSL_SHA512
#if 1
#define WOLFSSL_SHA512
/* Sha384 */
#undef WOLFSSL_SHA384
#if 1
#define WOLFSSL_SHA384
#endif
#endif
/* MD5 */
#undef NO_MD5
#if 1
#define NO_MD5
#endif
/* ------------------------------------------------------------------------- */
/* Benchmark / Test */
/* ------------------------------------------------------------------------- */
/* Use reduced benchmark / test sizes */
#undef BENCH_EMBEDDED
#define BENCH_EMBEDDED
#undef USE_CERT_BUFFERS_2048
#define USE_CERT_BUFFERS_2048
#endif /* _EMBOS_USER_SETTINGS_H_ */

View File

@ -0,0 +1,29 @@
#include "RTOS.h"
#include "BSP.h"
#include <stdio.h>
#include <wolfcrypt/benchmark/benchmark.h>
static OS_STACKPTR int WLFSTACK[20000]; /* Stack Size for Task */
static OS_TASK WLFTASK; /* Task */
static void wolfTask(void) {
printf("Begin Benchmark Tests\n");
benchmark_test(NULL);
printf("Benchmark Tests Complete\n");
while (1) {
BSP_ToggleLED(1);
OS_Delay(200);
}
}
int main(void) {
OS_IncDI(); /* Disable interrupts */
OS_InitKern(); /* Initialize OS */
OS_InitHW(); /* Initialize Hardware */
BSP_Init(); /* Initialize LED ports */
/* You need to create at least one task before calling OS_Start() */
OS_CREATETASK(&WLFTASK, "Tests task", wolfTask, 100, WLFSTACK);
OS_Start(); /* Start the OS */
return 0;
}

View File

@ -0,0 +1,70 @@
Steps taken to evaluate wolfSSL with the following:
Required Software for this guide:
IAR Embedded Workbench IDE - ARM v7.60.1 (or similar version)
embOS v4.16 (for Cortex-M and IAR compiler)
wolfssl (latest version)
Required items (Hardware) for this guide:
Atmel SAM V71 Xplained Ultra (Or equivelent Cortex-M Evaluation Board)
Note: Must have J-Trace adapter (SWD or SWD + ETM)
j-Trace for ARM Cortex-M Processors
Note: You can see here: https://www.segger.com/j-trace-for-cortex-m.html
Note: You can also purchase other models, we used one from IAR v3.2
20 pin target ribbon cable
USB Cable with j-Trace adapter end
Micro usb cable
#--!! NOTE !!--#
For this guide "**SAMV71_DIR" will signify the directory:
C:\<path-to>\wolfssl\IDE\IAR-EWARM\embOS\SAMV71_XULT\
#----------------------------------------------------------------------------#
# Setup file system to evaluate wolfssl in embOS project:
# (If you have not already done so)
#----------------------------------------------------------------------------#
1. In wolfssl you will notice the directory:
wolfssl\IDE\IAR-EWARM\embOS\extract_trial_here
2. go to embOS website and download a trial for your platform
https://www.segger.com/downloads/embos ->
embOS trial for Cortex-M and IAR compiler
3. Extract (unzip) the download to
C:\<path-to>\wolfssl\IDE\IAR-EWARM\embOS\extract_trial_here\
(Note: you do not need to do anything further in this directory, the
wolfSSL evaluation projects will simply link against it)
#----------------------------------------------------------------------------#
# Evaluate wolfcrypt_benchmarks in embOS project:
#----------------------------------------------------------------------------#
1. In IAR Workbench go to Project -> Add Existing Project
a. Browse to **SAMV71_DIR\embOS_wolfcrypt_benchmark_SAMV71_XULT\
b. Choose wolfcrypt_benchmark.ewp and click "Open"
2. Go to Project -> Rebuild All
3. Connect your SAMV71 Xplained Ultra to your PC with micro USB in the "Debug"
port for power and the J-Link hooked up to SWD pins and your PC
4. Go to Project -> Download and Debug
5. Once the "Debug" environment has loaded go to: View -> Terminal I/O
(This is where the printf's will be directed to)
6. Hit "Go" (Debug option with 3 right arrows "→→→")
7. You should observe the benchmark times for the configured algorithms.
#----------------------------------------------------------------------------#
#----------------------------------------------------------------------------#
Thank you for using this guide and we hope this was helpful to you. If you have
any suggestions / feedback for us please contact us:
support@wolfssl.com
info@wolfssl.com
Copyright © 2016 wolfSSL Inc. All rights reserved.

View File

@ -0,0 +1,39 @@
[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
MonModeVTableAddr = 0xFFFFFFFF
MonModeDebug = 0
MaxNumAPs = 0
LowPowerHandlingMode = 0
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 1
Device="ATSAMV71Q21"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

View File

@ -12,7 +12,7 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<version>24</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -27,11 +27,6 @@
<name>ListPath</name>
<state>Debug\List</state>
</option>
<option>
<name>Variant</name>
<version>20</version>
<state>38</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
@ -39,28 +34,23 @@
<option>
<name>Input variant</name>
<version>3</version>
<state>1</state>
<state>0</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
<state>Automatic choice of formatter.</state>
</option>
<option>
<name>Output variant</name>
<version>2</version>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>2</version>
<name>Output description</name>
<state>Automatic choice of formatter.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
@ -83,11 +73,11 @@
</option>
<option>
<name>OGProductVersion</name>
<state>5.10.0.159</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>6.60.1.5099</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>GeneralEnableMisra</name>
@ -135,19 +125,14 @@
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>20</version>
<state>38</state>
</option>
<option>
<name>GBECoreSlave</name>
<version>20</version>
<state>38</state>
<version>24</version>
<state>41</state>
</option>
<option>
<name>OGUseCmsis</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>OGUseCmsisDspLib</name>
@ -155,24 +140,50 @@
</option>
<option>
<name>GRuntimeLibThreads</name>
<state>1</state>
</option>
<option>
<name>CoreVariant</name>
<version>24</version>
<state>41</state>
</option>
<option>
<name>GFPUDeviceSlave</name>
<state>Default None</state>
</option>
<option>
<name>FPU2</name>
<version>0</version>
<state>7</state>
</option>
<option>
<name>NrRegs</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>NEON</name>
<state>0</state>
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>24</version>
<state>41</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>29</version>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCDefines</name>
<state></state>
<state>DEBUG=1</state>
<state>__SAMV71Q21__</state>
<state>WOLFSSL_USER_SETTINGS</state>
</option>
<option>
<name>CCPreprocFile</name>
@ -212,7 +223,7 @@
</option>
<option>
<name>CCDiagSuppress</name>
<state>Pa050</state>
<state></state>
</option>
<option>
<name>CCDiagRemark</name>
@ -233,7 +244,7 @@
<option>
<name>CCAllowList</name>
<version>1</version>
<state>0000000</state>
<state>00000000</state>
</option>
<option>
<name>CCDebugInfo</name>
@ -301,7 +312,11 @@
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\..\..\..</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\Inc</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\DeviceSupport</state>
<state>$PROJ_DIR$\..\..\..\..\..\</state>
<state>$PROJ_DIR$\..\embOS_SAMV71_XULT_user_settings</state>
</option>
<option>
<name>CCStdIncCheck</name>
@ -394,10 +409,23 @@
<name>IccFloatSemantics</name>
<state>0</state>
</option>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -575,7 +603,7 @@
<debug>1</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<version>3</version>
<state>0</state>
</option>
<option>
@ -584,7 +612,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>c.srec</state>
<state></state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@ -602,6 +630,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -621,13 +650,9 @@
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<version>17</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IlinkOutputFile</name>
<state>benchmark.out</state>
</option>
<option>
<name>IlinkLibIOConfig</name>
<state>1</state>
@ -640,6 +665,10 @@
<name>IlinkInputFileSlave</name>
<state>0</state>
</option>
<option>
<name>IlinkOutputFile</name>
<state>wolfcrypt_benchmark.out</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
<state>1</state>
@ -674,7 +703,7 @@
</option>
<option>
<name>IlinkMapFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
@ -702,7 +731,7 @@
</option>
<option>
<name>IlinkIcfFile</name>
<state>$PROJ_DIR$\wolfCrypt-benchmark.icf</state>
<state>$PROJ_DIR$\..\embOS_SAMV71_XULT_Linker_Script\samv71q21_wolfssl.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
@ -750,7 +779,8 @@
</option>
<option>
<name>IlinkAdditionalLibs</name>
<state>$PROJ_DIR$\Debug\Exe\CyaSSL-Lib.a</state>
<state>$PROJ_DIR$\..\embOS_wolfcrypt_lib_SAMV71_XULT\Debug\Bin\wolfcrypt_lib.a</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\Lib\os7m_tlv_dp.a</state>
</option>
<option>
<name>IlinkOverrideProgramEntryLabel</name>
@ -905,6 +935,10 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkLogCallGraph</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -944,7 +978,7 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<version>24</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -959,11 +993,6 @@
<name>ListPath</name>
<state>Release\List</state>
</option>
<option>
<name>Variant</name>
<version>20</version>
<state>0</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
@ -971,28 +1000,23 @@
<option>
<name>Input variant</name>
<version>3</version>
<state>1</state>
<state>0</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
<state></state>
</option>
<option>
<name>Output variant</name>
<version>2</version>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>2</version>
<name>Output description</name>
<state></state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
@ -1011,15 +1035,15 @@
</option>
<option>
<name>RTDescription</name>
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
<state></state>
</option>
<option>
<name>OGProductVersion</name>
<state>5.10.0.159</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>6.30.1.53141</state>
<state></state>
</option>
<option>
<name>GeneralEnableMisra</name>
@ -1031,7 +1055,7 @@
</option>
<option>
<name>OGChipSelectEditMenu</name>
<state>default None</state>
<state></state>
</option>
<option>
<name>GenLowLevelInterface</name>
@ -1065,17 +1089,12 @@
</option>
<option>
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>20</version>
<state>0</state>
<state></state>
</option>
<option>
<name>GBECoreSlave</name>
<version>20</version>
<state>0</state>
<version>24</version>
<state>38</state>
</option>
<option>
<name>OGUseCmsis</name>
@ -1089,19 +1108,43 @@
<name>GRuntimeLibThreads</name>
<state>0</state>
</option>
<option>
<name>CoreVariant</name>
<version>24</version>
<state>38</state>
</option>
<option>
<name>GFPUDeviceSlave</name>
<state>-</state>
</option>
<option>
<name>FPU2</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>NrRegs</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>NEON</name>
<state>0</state>
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>24</version>
<state>38</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>29</version>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCDefines</name>
<state>NDEBUG</state>
@ -1165,7 +1208,7 @@
<option>
<name>CCAllowList</name>
<version>1</version>
<state>1111111</state>
<state>11111110</state>
</option>
<option>
<name>CCDebugInfo</name>
@ -1217,7 +1260,7 @@
</option>
<option>
<name>OutputFile</name>
<state>$FILE_BNAME$.o</state>
<state></state>
</option>
<option>
<name>CCLibConfigHeader</name>
@ -1245,7 +1288,7 @@
</option>
<option>
<name>IInterwork2</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>IProcessorMode2</name>
@ -1262,7 +1305,7 @@
</option>
<option>
<name>CCOptLevelSlave</name>
<state>3</state>
<state>1</state>
</option>
<option>
<name>CompilerMisraRules98</name>
@ -1326,10 +1369,23 @@
<name>IccFloatSemantics</name>
<state>0</state>
</option>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -1462,7 +1518,7 @@
</option>
<option>
<name>AOutputFile</name>
<state>$FILE_BNAME$.o</state>
<state></state>
</option>
<option>
<name>AMultibyteSupport</name>
@ -1507,7 +1563,7 @@
<debug>0</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<version>3</version>
<state>0</state>
</option>
<option>
@ -1516,7 +1572,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>c.srec</state>
<state></state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@ -1534,6 +1590,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -1553,13 +1610,9 @@
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<version>17</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>IlinkOutputFile</name>
<state>c.out</state>
</option>
<option>
<name>IlinkLibIOConfig</name>
<state>1</state>
@ -1572,6 +1625,10 @@
<name>IlinkInputFileSlave</name>
<state>0</state>
</option>
<option>
<name>IlinkOutputFile</name>
<state>###Unitialized###</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
<state>1</state>
@ -1606,7 +1663,7 @@
</option>
<option>
<name>IlinkMapFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
@ -1634,7 +1691,7 @@
</option>
<option>
<name>IlinkIcfFile</name>
<state>$TOOLKIT_DIR$\CONFIG\generic.icf</state>
<state>lnk0t.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
@ -1837,6 +1894,10 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkLogCallGraph</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -1866,12 +1927,69 @@
<data/>
</settings>
</configuration>
<file>
<name>$PROJ_DIR$\benchmark-main.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\benchmark\benchmark.c</name>
</file>
<group>
<name>Application</name>
<file>
<name>$PROJ_DIR$\Application\runBenchmarks.c</name>
</file>
</group>
<group>
<name>benchmark</name>
<file>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\benchmark\benchmark.c</name>
</file>
</group>
<group>
<name>Device_Support</name>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\DeviceSupport\startup_sam.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\DeviceSupport\system_sam.c</name>
</file>
</group>
<group>
<name>Setup</name>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\BSP.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\HardFaultHandler.S</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\JLINKMEM_Process.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\OS_Error.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\RTOSInit_SAMV71_CMSIS.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_HardFaultHandler.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_RTT.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_RTT_printf.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_SYSVIEW.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_SYSVIEW_Config_embOS.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_SYSVIEW_embOS.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\xmtx.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\xmtx2.c</name>
</file>
</group>
</project>

View File

@ -0,0 +1,44 @@
Steps taken to evaluate wolfSSL with the following:
Required Software for this guide:
IAR Embedded Workbench IDE - ARM v7.60.1 (or similar version)
embOS v4.16 (for Cortex-M and IAR compiler)
wolfssl (latest version)
Required items (Hardware) for this guide:
Atmel SAM V71 Xplained Ultra (Or equivelent Cortex-M Evaluation Board)
Note: Must have J-Trace adapter (SWD or SWD + ETM)
j-Trace for ARM Cortex-M Processors
Note: You can see here: https://www.segger.com/j-trace-for-cortex-m.html
Note: You can also purchase other models, we used one from IAR v3.2
20 pin target ribbon cable
USB Cable with j-Trace adapter end
Micro usb cable
#--!! NOTE !!--#
For this guide "**SAMV71_DIR" will signify the directory:
C:\<path-to>\wolfssl\IDE\IAR-EWARM\embOS\SAMV71_XULT\
#----------------------------------------------------------------------------#
# Create wolfcrypt_lib.a
#----------------------------------------------------------------------------#
1. Open IAR Workbench -> Project -> Add Existing Project
a. Browse to **SAMV71_DIR\embOS_wolfcrypt_lib
c. Choose wolfcrypt_lib.ewp and click "Open"
2. Go to Project -> Rebuild All
3. Verify the library built, you should now have:
**SAMV71_DIR\embOS_wolfcrypt_lib\Debug\Bin\wolfcrypt_lib.a
#----------------------------------------------------------------------------#
#----------------------------------------------------------------------------#
Thank you for using this guide and we hope this was helpful to you. If you have
any suggestions / feedback for us please contact us:
support@wolfssl.com
info@wolfssl.com
Copyright © 2016 wolfSSL Inc. All rights reserved.

View File

@ -12,12 +12,12 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<version>24</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>ExePath</name>
<state>Debug\Exe</state>
<state>Debug\Bin</state>
</option>
<option>
<name>ObjPath</name>
@ -27,11 +27,6 @@
<name>ListPath</name>
<state>Debug\List</state>
</option>
<option>
<name>Variant</name>
<version>20</version>
<state>38</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
@ -58,11 +53,6 @@
<name>GOutputBinary</name>
<state>1</state>
</option>
<option>
<name>FPU</name>
<version>2</version>
<state>0</state>
</option>
<option>
<name>OGCoreOrChip</name>
<state>0</state>
@ -83,11 +73,11 @@
</option>
<option>
<name>OGProductVersion</name>
<state>6.70.1.5793</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>6.60.1.5099</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>GeneralEnableMisra</name>
@ -99,7 +89,7 @@
</option>
<option>
<name>OGChipSelectEditMenu</name>
<state>MB9BF618T Fujitsu MB9BF618T</state>
<state>Default None</state>
</option>
<option>
<name>GenLowLevelInterface</name>
@ -135,19 +125,14 @@
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>20</version>
<state>38</state>
</option>
<option>
<name>GBECoreSlave</name>
<version>20</version>
<state>38</state>
<version>24</version>
<state>41</state>
</option>
<option>
<name>OGUseCmsis</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>OGUseCmsisDspLib</name>
@ -155,20 +140,48 @@
</option>
<option>
<name>GRuntimeLibThreads</name>
<state>1</state>
</option>
<option>
<name>CoreVariant</name>
<version>24</version>
<state>41</state>
</option>
<option>
<name>GFPUDeviceSlave</name>
<state>Default None</state>
</option>
<option>
<name>FPU2</name>
<version>0</version>
<state>7</state>
</option>
<option>
<name>NrRegs</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>NEON</name>
<state>0</state>
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>24</version>
<state>41</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>29</version>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>CCDefines</name>
<state></state>
<state>WOLFSSL_USER_SETTINGS</state>
</option>
<option>
<name>CCPreprocFile</name>
@ -208,7 +221,7 @@
</option>
<option>
<name>CCDiagSuppress</name>
<state>Pa050</state>
<state></state>
</option>
<option>
<name>CCDiagRemark</name>
@ -229,7 +242,7 @@
<option>
<name>CCAllowList</name>
<version>1</version>
<state>0000000</state>
<state>00000000</state>
</option>
<option>
<name>CCDebugInfo</name>
@ -245,11 +258,14 @@
</option>
<option>
<name>IExtraOptionsCheck</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>IExtraOptions</name>
<state></state>
<state>--diag_warning Pa089</state>
<state>--diag_suppress Pa089</state>
<state>--diag_warning Pe231</state>
<state>--diag_suppress Pe231</state>
</option>
<option>
<name>CCLangConformance</name>
@ -297,7 +313,8 @@
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\..\..\..</state>
<state>$PROJ_DIR$\..\..\..\..\..\</state>
<state>$PROJ_DIR$\..\embOS_SAMV71_XULT_user_settings</state>
</option>
<option>
<name>CCStdIncCheck</name>
@ -322,7 +339,7 @@
<option>
<name>CCOptStrategy</name>
<version>0</version>
<state>1</state>
<state>0</state>
</option>
<option>
<name>CCOptLevelSlave</name>
@ -398,6 +415,15 @@
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -575,7 +601,7 @@
<debug>1</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<version>3</version>
<state>0</state>
</option>
<option>
@ -584,7 +610,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>CyaSSL-Full.srec</state>
<state></state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@ -602,6 +628,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -621,7 +648,7 @@
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<version>17</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -638,7 +665,7 @@
</option>
<option>
<name>IlinkOutputFile</name>
<state>CyaSSL-Full.out</state>
<state>wolfcrypt_lib.out</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
@ -698,11 +725,11 @@
</option>
<option>
<name>IlinkIcfOverride</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>IlinkIcfFile</name>
<state>$PROJ_DIR$\CyaSSL-Full.icf</state>
<state>$TOOLKIT_DIR$\CONFIG\generic_cortex.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
@ -853,7 +880,7 @@
</option>
<option>
<name>IlinkOptInline</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>IlinkOptExceptionsAllow</name>
@ -905,6 +932,10 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkLogCallGraph</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -924,7 +955,7 @@
</option>
<option>
<name>IarchiveOutput</name>
<state>C:\ROOT\CyaSSL-Release\IAR\IDE\IAR-EWARM\Projects\CyaSSL-Lib\Debug\Exe\CyaSSL-Lib.a</state>
<state>C:\Users\boz_windows\Desktop\embos-wolfssl\IDE\IAR-EWARM\embOS\SAMV71_XULT\embOS_wolfcrypt_lib_SAMV71_XULT\Debug\Bin\wolfcrypt_lib.a</state>
</option>
</data>
</settings>
@ -944,7 +975,7 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<version>24</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -959,11 +990,6 @@
<name>ListPath</name>
<state>Release\List</state>
</option>
<option>
<name>Variant</name>
<version>20</version>
<state>0</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
@ -990,11 +1016,6 @@
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>2</version>
<state>0</state>
</option>
<option>
<name>OGCoreOrChip</name>
<state>0</state>
@ -1015,7 +1036,7 @@
</option>
<option>
<name>OGProductVersion</name>
<state>6.70.1.5793</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
@ -1067,15 +1088,10 @@
<name>RTConfigPath2</name>
<state></state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>20</version>
<state>1</state>
</option>
<option>
<name>GBECoreSlave</name>
<version>20</version>
<state>1</state>
<version>24</version>
<state>38</state>
</option>
<option>
<name>OGUseCmsis</name>
@ -1089,13 +1105,41 @@
<name>GRuntimeLibThreads</name>
<state>0</state>
</option>
<option>
<name>CoreVariant</name>
<version>24</version>
<state>38</state>
</option>
<option>
<name>GFPUDeviceSlave</name>
<state>-</state>
</option>
<option>
<name>FPU2</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>NrRegs</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>NEON</name>
<state>0</state>
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>24</version>
<state>38</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>29</version>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1161,7 +1205,7 @@
<option>
<name>CCAllowList</name>
<version>1</version>
<state>1111111</state>
<state>11111110</state>
</option>
<option>
<name>CCDebugInfo</name>
@ -1330,6 +1374,15 @@
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -1507,7 +1560,7 @@
<debug>0</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<version>3</version>
<state>0</state>
</option>
<option>
@ -1534,6 +1587,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -1553,7 +1607,7 @@
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<version>17</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1606,7 +1660,7 @@
</option>
<option>
<name>IlinkMapFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
@ -1837,6 +1891,10 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkLogCallGraph</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -1867,132 +1925,84 @@
</settings>
</configuration>
<group>
<name>CyaSSL</name>
<name>wolfcrypt_sources</name>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\crl.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\aes.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\internal.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\asn.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\io.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\chacha.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\keys.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\chacha20_poly1305.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\ocsp.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\coding.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\sniffer.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\des3.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\ssl.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\dh.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\src\tls.c</name>
</file>
</group>
<group>
<name>wolfCrypt</name>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\aes.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\dsa.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\arc4.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\ecc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\asm.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\hash.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\asn.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\hmac.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\blake2b.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\md4.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\camellia.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\md5.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\coding.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\memory.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\compress.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\misc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\des3.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\poly1305.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\dh.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\pwdbased.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\dsa.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\rabbit.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\ecc.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\random.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\ecc_fp.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\rsa.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\error.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\sha.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\hc128.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\sha256.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\hmac.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\sha512.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\integer.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\tfm.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\logging.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\wc_encrypt.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\md2.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\md4.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\md5.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\memory.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\misc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\wc_port.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\pwdbased.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\rabbit.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\random.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\ripemd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\rsa.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\sha.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\sha256.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\sha512.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\src\tfm.c</name>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\src\wc_port.c</name>
</file>
</group>
</project>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
#include "RTOS.h"
#include "BSP.h"
#include <stdio.h>
#include <wolfcrypt/test/test.h>
static OS_STACKPTR int WLFSTACK[20000]; /* Stack Size for Task */
static OS_TASK WLFTASK; /* Task */
static void wolfTask(void) {
printf("Begin wolfcrypt tests\n");
wolfcrypt_test(NULL);
printf("wolfcrypt tests complete.\n");
while (1) {
BSP_ToggleLED(1);
OS_Delay(200);
}
}
int main(void) {
OS_IncDI(); /* Disable interrupts */
OS_InitKern(); /* Initialize OS */
OS_InitHW(); /* Initialize Hardware for OS */
BSP_Init(); /* Initialize LED ports */
/* You need to create at least one task before calling OS_Start() */
OS_CREATETASK(&WLFTASK, "Tests task", wolfTask, 100, WLFSTACK);
OS_Start(); /* Start the OS */
return 0;
}

View File

@ -0,0 +1,69 @@
Steps taken to evaluate wolfSSL with the following:
Required Software for this guide:
IAR Embedded Workbench IDE - ARM v7.60.1 (or similar version)
embOS v4.16 (for Cortex-M and IAR compiler)
wolfssl (latest version)
Required items (Hardware) for this guide:
Atmel SAM V71 Xplained Ultra (Or equivelent Cortex-M Evaluation Board)
Note: Must have J-Trace adapter (SWD or SWD + ETM)
j-Trace for ARM Cortex-M Processors
Note: You can see here: https://www.segger.com/j-trace-for-cortex-m.html
Note: You can also purchase other models, we used one from IAR v3.2
20 pin target ribbon cable
USB Cable with j-Trace adapter end
Micro usb cable
#--!! NOTE !!--#
For this guide "**SAMV71_DIR" will signify the directory:
C:\<path-to>\wolfssl\IDE\IAR-EWARM\embOS\SAMV71_XULT\
#----------------------------------------------------------------------------#
# Setup file system to evaluate wolfssl in embOS project:
# (If you have not already done so)
#----------------------------------------------------------------------------#
1. In wolfssl you will notice the directory:
wolfssl\IDE\IAR-EWARM\embOS\extract_trial_here
2. go to embOS website and download a trial for your platform
https://www.segger.com/downloads/embos ->
embOS trial for Cortex-M and IAR compiler
3. Extract (unzip) the download to
C:\<path-to>\wolfssl\IDE\IAR-EWARM\embOS\extract_trial_here\
(Note: you do not need to do anything further in this directory, the
wolfSSL evaluation projects will simply link against it)
#----------------------------------------------------------------------------#
# Evaluate wolfcrypt_tests in embOS project:
#----------------------------------------------------------------------------#
1. In IAR Workbench go to Project -> Add Existing Project
a. Browse to **SAMV71_DIR\embOS_wolfcrypt_test_SAMV71_XULT\
b. Choose wolfcrypt_test.ewp and click "Open"
2. Go to Project -> Rebuild All
3. Connect your SAMV71 Xplained Ultra to your PC with micro USB in the "Debug"
port for power and the J-Link hooked up to SWD pins and your PC
4. Go to Project -> Download and Debug
5. Once the "Debug" environment has loaded go to: View -> Terminal I/O
(This is where the printf's will be directed to)
6. Hit "Go" (Debug option with 3 right arrows "→→→")
7. You should observe the tests run and pass.
#----------------------------------------------------------------------------#
#----------------------------------------------------------------------------#
Thank you for using this guide and we hope this was helpful to you. If you have
any suggestions / feedback for us please contact us:
support@wolfssl.com
info@wolfssl.com
Copyright © 2016 wolfSSL Inc. All rights reserved.

View File

@ -0,0 +1,39 @@
[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
MonModeVTableAddr = 0xFFFFFFFF
MonModeDebug = 0
MaxNumAPs = 0
LowPowerHandlingMode = 0
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 1
Device="ATSAMV71Q21"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

View File

@ -12,7 +12,7 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<version>24</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -27,11 +27,6 @@
<name>ListPath</name>
<state>Debug\List</state>
</option>
<option>
<name>Variant</name>
<version>20</version>
<state>38</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
@ -39,28 +34,23 @@
<option>
<name>Input variant</name>
<version>3</version>
<state>1</state>
<state>0</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
<state>Automatic choice of formatter.</state>
</option>
<option>
<name>Output variant</name>
<version>2</version>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>2</version>
<name>Output description</name>
<state>Automatic choice of formatter.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
@ -70,24 +60,24 @@
<option>
<name>GRuntimeLibSelect</name>
<version>0</version>
<state>2</state>
<state>1</state>
</option>
<option>
<name>GRuntimeLibSelectSlave</name>
<version>0</version>
<state>2</state>
<state>1</state>
</option>
<option>
<name>RTDescription</name>
<state>Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
</option>
<option>
<name>OGProductVersion</name>
<state>5.10.0.159</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>6.60.1.5099</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>GeneralEnableMisra</name>
@ -133,21 +123,16 @@
</option>
<option>
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>20</version>
<state>38</state>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GBECoreSlave</name>
<version>20</version>
<state>38</state>
<version>24</version>
<state>41</state>
</option>
<option>
<name>OGUseCmsis</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>OGUseCmsisDspLib</name>
@ -155,24 +140,50 @@
</option>
<option>
<name>GRuntimeLibThreads</name>
<state>1</state>
</option>
<option>
<name>CoreVariant</name>
<version>24</version>
<state>41</state>
</option>
<option>
<name>GFPUDeviceSlave</name>
<state>Default None</state>
</option>
<option>
<name>FPU2</name>
<version>0</version>
<state>7</state>
</option>
<option>
<name>NrRegs</name>
<version>0</version>
<state>1</state>
</option>
<option>
<name>NEON</name>
<state>0</state>
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>24</version>
<state>41</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>29</version>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCDefines</name>
<state></state>
<state>DEBUG=1</state>
<state>__SAMV71Q21__</state>
<state>WOLFSSL_USER_SETTINGS</state>
</option>
<option>
<name>CCPreprocFile</name>
@ -188,11 +199,11 @@
</option>
<option>
<name>CCListCFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CCListCMnemonics</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CCListCMessages</name>
@ -212,7 +223,7 @@
</option>
<option>
<name>CCDiagSuppress</name>
<state>Pa050</state>
<state></state>
</option>
<option>
<name>CCDiagRemark</name>
@ -233,7 +244,7 @@
<option>
<name>CCAllowList</name>
<version>1</version>
<state>0000000</state>
<state>00000000</state>
</option>
<option>
<name>CCDebugInfo</name>
@ -265,7 +276,7 @@
</option>
<option>
<name>CCRequirePrototypes</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>CCMultibyteSupport</name>
@ -301,7 +312,11 @@
</option>
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\..\..\..</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\Inc</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\DeviceSupport</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup</state>
<state>$PROJ_DIR$\..\..\..\..\..\</state>
<state>$PROJ_DIR$\..\embOS_SAMV71_XULT_user_settings</state>
</option>
<option>
<name>CCStdIncCheck</name>
@ -394,10 +409,23 @@
<name>IccFloatSemantics</name>
<state>0</state>
</option>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -575,7 +603,7 @@
<debug>1</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<version>3</version>
<state>0</state>
</option>
<option>
@ -584,7 +612,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>wolfCrypt-test.srec</state>
<state>wolfcrypt_test.srec</state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@ -602,6 +630,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -621,13 +650,9 @@
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<version>17</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IlinkOutputFile</name>
<state>test.out</state>
</option>
<option>
<name>IlinkLibIOConfig</name>
<state>1</state>
@ -640,6 +665,10 @@
<name>IlinkInputFileSlave</name>
<state>0</state>
</option>
<option>
<name>IlinkOutputFile</name>
<state>wolfcrypt_test.out</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
<state>1</state>
@ -674,7 +703,7 @@
</option>
<option>
<name>IlinkMapFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
@ -702,7 +731,7 @@
</option>
<option>
<name>IlinkIcfFile</name>
<state>$PROJ_DIR$\wolfCrypt-test.icf</state>
<state>$PROJ_DIR$\..\embOS_SAMV71_XULT_Linker_Script\samv71q21_wolfssl.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
@ -750,7 +779,8 @@
</option>
<option>
<name>IlinkAdditionalLibs</name>
<state>$PROJ_DIR$\Debug\Exe\CyaSSL-Lib.a</state>
<state>$PROJ_DIR$\..\embOS_wolfcrypt_lib_SAMV71_XULT\Debug\Bin\wolfcrypt_lib.a</state>
<state>$PROJ_DIR$\..\..\extract_trial_here\Start\Lib\os7m_tlv_dp.a</state>
</option>
<option>
<name>IlinkOverrideProgramEntryLabel</name>
@ -905,6 +935,10 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkLogCallGraph</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -944,7 +978,7 @@
<name>General</name>
<archiveVersion>3</archiveVersion>
<data>
<version>22</version>
<version>24</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -959,11 +993,6 @@
<name>ListPath</name>
<state>Release\List</state>
</option>
<option>
<name>Variant</name>
<version>20</version>
<state>0</state>
</option>
<option>
<name>GEndianMode</name>
<state>0</state>
@ -971,28 +1000,23 @@
<option>
<name>Input variant</name>
<version>3</version>
<state>1</state>
<state>0</state>
</option>
<option>
<name>Input description</name>
<state>Full formatting.</state>
<state></state>
</option>
<option>
<name>Output variant</name>
<version>2</version>
<state>1</state>
</option>
<option>
<name>Output description</name>
<state>Full formatting.</state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
<name>FPU</name>
<version>2</version>
<name>Output description</name>
<state></state>
</option>
<option>
<name>GOutputBinary</name>
<state>0</state>
</option>
<option>
@ -1011,15 +1035,15 @@
</option>
<option>
<name>RTDescription</name>
<state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
<state></state>
</option>
<option>
<name>OGProductVersion</name>
<state>5.10.0.159</state>
<state>7.60.1.11206</state>
</option>
<option>
<name>OGLastSavedByProductVersion</name>
<state>6.30.1.53141</state>
<state></state>
</option>
<option>
<name>GeneralEnableMisra</name>
@ -1031,7 +1055,7 @@
</option>
<option>
<name>OGChipSelectEditMenu</name>
<state>default None</state>
<state></state>
</option>
<option>
<name>GenLowLevelInterface</name>
@ -1065,17 +1089,12 @@
</option>
<option>
<name>RTConfigPath2</name>
<state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
</option>
<option>
<name>GFPUCoreSlave</name>
<version>20</version>
<state>0</state>
<state></state>
</option>
<option>
<name>GBECoreSlave</name>
<version>20</version>
<state>0</state>
<version>24</version>
<state>38</state>
</option>
<option>
<name>OGUseCmsis</name>
@ -1089,19 +1108,43 @@
<name>GRuntimeLibThreads</name>
<state>0</state>
</option>
<option>
<name>CoreVariant</name>
<version>24</version>
<state>38</state>
</option>
<option>
<name>GFPUDeviceSlave</name>
<state>-</state>
</option>
<option>
<name>FPU2</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>NrRegs</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>NEON</name>
<state>0</state>
</option>
<option>
<name>GFPUCoreSlave2</name>
<version>24</version>
<state>38</state>
</option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
<version>29</version>
<version>31</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCDefines</name>
<state>NDEBUG</state>
@ -1165,7 +1208,7 @@
<option>
<name>CCAllowList</name>
<version>1</version>
<state>1111111</state>
<state>11111110</state>
</option>
<option>
<name>CCDebugInfo</name>
@ -1217,7 +1260,7 @@
</option>
<option>
<name>OutputFile</name>
<state>$FILE_BNAME$.o</state>
<state></state>
</option>
<option>
<name>CCLibConfigHeader</name>
@ -1245,7 +1288,7 @@
</option>
<option>
<name>IInterwork2</name>
<state>1</state>
<state>0</state>
</option>
<option>
<name>IProcessorMode2</name>
@ -1262,7 +1305,7 @@
</option>
<option>
<name>CCOptLevelSlave</name>
<state>3</state>
<state>1</state>
</option>
<option>
<name>CompilerMisraRules98</name>
@ -1326,10 +1369,23 @@
<name>IccFloatSemantics</name>
<state>0</state>
</option>
<option>
<name>CCOptimizationNoSizeConstraints</name>
<state>0</state>
</option>
<option>
<name>CCNoLiteralPool</name>
<state>0</state>
</option>
<option>
<name>CCOptStrategySlave</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>CCGuardCalls</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
@ -1462,7 +1518,7 @@
</option>
<option>
<name>AOutputFile</name>
<state>$FILE_BNAME$.o</state>
<state></state>
</option>
<option>
<name>AMultibyteSupport</name>
@ -1507,7 +1563,7 @@
<debug>0</debug>
<option>
<name>OOCOutputFormat</name>
<version>2</version>
<version>3</version>
<state>0</state>
</option>
<option>
@ -1516,7 +1572,7 @@
</option>
<option>
<name>OOCOutputFile</name>
<state>c.srec</state>
<state></state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@ -1534,6 +1590,7 @@
<data>
<extensions></extensions>
<cmdline></cmdline>
<hasPrio>0</hasPrio>
</data>
</settings>
<settings>
@ -1553,13 +1610,9 @@
<name>ILINK</name>
<archiveVersion>0</archiveVersion>
<data>
<version>16</version>
<version>17</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>IlinkOutputFile</name>
<state>c.out</state>
</option>
<option>
<name>IlinkLibIOConfig</name>
<state>1</state>
@ -1572,6 +1625,10 @@
<name>IlinkInputFileSlave</name>
<state>0</state>
</option>
<option>
<name>IlinkOutputFile</name>
<state>###Unitialized###</state>
</option>
<option>
<name>IlinkDebugInfoEnable</name>
<state>1</state>
@ -1606,7 +1663,7 @@
</option>
<option>
<name>IlinkMapFile</name>
<state>0</state>
<state>1</state>
</option>
<option>
<name>IlinkLogFile</name>
@ -1634,7 +1691,7 @@
</option>
<option>
<name>IlinkIcfFile</name>
<state>$TOOLKIT_DIR$\CONFIG\generic.icf</state>
<state>lnk0t.icf</state>
</option>
<option>
<name>IlinkIcfFileSlave</name>
@ -1837,6 +1894,10 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkLogCallGraph</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
@ -1866,12 +1927,69 @@
<data/>
</settings>
</configuration>
<file>
<name>$PROJ_DIR$\test-main.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\..\ctaocrypt\test\test.c</name>
</file>
<group>
<name>Application</name>
<file>
<name>$PROJ_DIR$\Application\runWolfcryptTests.c</name>
</file>
</group>
<group>
<name>Device_Support</name>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\DeviceSupport\startup_sam.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\DeviceSupport\system_sam.c</name>
</file>
</group>
<group>
<name>Setup</name>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\BSP.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\HardFaultHandler.S</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\JLINKMEM_Process.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\OS_Error.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\RTOSInit_SAMV71_CMSIS.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_HardFaultHandler.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_RTT.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_RTT_printf.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_SYSVIEW.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_SYSVIEW_Config_embOS.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\SEGGER_SYSVIEW_embOS.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\xmtx.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup\xmtx2.c</name>
</file>
</group>
<group>
<name>wolfcrypt_test</name>
<file>
<name>$PROJ_DIR$\..\..\..\..\..\wolfcrypt\test\test.c</name>
</file>
</group>
</project>

View File

@ -0,0 +1,222 @@
Steps taken to evaluate wolfSSL with the following:
Required Software for this guide:
IAR Embedded Workbench IDE - ARM v7.60.1 (or similar version)
embOS (version that supports your CPU)
wolfssl (latest version)
#----------------------------------------------------------------------------#
# SECTION 1:
# Setting up the file system
#----------------------------------------------------------------------------#
1. Browse to wolfssl/IDE/IAR-EWARM/embOS/
a. copy/paste the directory custom_port and re-name it to the CPU
you intend to target. For now we will just use the term CUSTOM_DIR
to signify a copy of the custom_port directory
#----------------------------------------------------------------------------#
# SECTION 2:
# Create wolfcrypt_lib.a
#----------------------------------------------------------------------------#
1. Open IAR Workbench -> Project -> Create New Project -> Empty Project
c. Browse to CUSTOM_DIR/wolfcrypt_lib_custom_port/ (from section 1)
d. Called it "wolfcrypt_lib" and hit "Save"
2. Go to Project -> Add Group...
a. call group wolfcrypt_sources
3. Right click on wolfcrypt_sources group -> Add -> Add Files...
4. Browse to wolfssl/wolfcrypt/src directory and select the following files:
#---------------------------------------------#
# aes.c memory.c #
# asn.c misc.c #
# chacha.c poly1305.c #
# chacha20_poly1305.c pwdbased.c #
# coding.c rabbit.c #
# des3.c random.c #
# dh.c rsa.c #
# dsa.c sha.c #
# ecc.c sha256.c #
# hash.c sha512.c #
# hmac.c tfm.c #
# md4.c wc_encrypt.c #
# md5.c wc_port.c #
#---------------------------------------------#
5. Once those are all added go to
Project -> Properties C/C++ Compiler -> Preprocessor (Tab)
a. In the field "Defined symbols:" add WOLFSSL_USER_SETTINGS
b. In the field "Additional include directories:"
put in this line: $PROJ_DIR$\..\..\..\..\..\
and this line: $PROJ_DIR$\..\custom_port_user_settings
#---------------------------------------------
#(Or alternately you can use the browse option to navigate to
#C:\<path-to>\wolfssl and
#C:\<path-to>\wolfssl\IDE\IAR-EWARM\CUSTOM_DIR\
# custom_port_user_settings\)
#(If you ever need to change or customize your build settings this
#is the file that should be modified:
#CUSTOM_DIR\custom_port_user_settings\user_settings.h)
#---------------------------------------------
7. In Project -> Options -> General Options -> Output (Tab)
Check the option for "Library" instead of "Executable"
Click "OK"
8. Go to Project -> Rebuild all (The library should build)
9. Confirm the library is now located here:
C:\<path to>\wolfssl\IDE\IAR-EWARM\CUSTOM_DIR\wolfcrypt_lib_custom_port\
Debug\Exe\wolfcrypt_lib.a
We are now set to link to this library in the evaluation project
#----------------------------------------------------------------------------#
# SECTION 3:
# Evaluate wolfcrypt tests in embOS project:
#----------------------------------------------------------------------------#
1. go to embOS website and download a trial for your platform
https://www.segger.com/downloads/embos ->
embOS trial for Cortex-M and IAR compiler
2. After downloading, extract the zip to:
C:\<path-to>\wolfssl\IDE\IAR-EWARM\embOS\extract_trial_here\
3. Open IAR Workbench -> Project -> Create New Project -> Empty Project
c. Browse to CUSTOM_DIR\wolfcrypt_test_custom_port\ (from section 1)
d. Called it "wolfcrypt_test" and hit "Save"
4. Go to Project -> Options -> C/C++ Compiler -> Preprocessor (Tab)
a. Add these to the field "Defined symbols:"
DEBUG=1
__CPU-YOU-ARE-TARGETING__ (For example: __SAMV71Q21__)
WOLFSSL_USER_SETTINGS
b. Now in the field "Additional include directories:"
$PROJ_DIR$\..\..\..\..\..\
$PROJ_DIR$\..\custom_port_user_settings
#---------------------------------------------
#(Or alternately you can use the browse option to navigate to
#C:\<path-to>\wolfssl and
#C:\<path-to>\wolfssl\IDE\IAR-EWARM\CUSTOM_DIR\
# custom_port_user_settings\)
#---------------------------------------------
5. Go to Project -> Options -> Linker -> Library (Tab)
Add to the field "Additonal libraries:"
$PROJ_DIR$\..\embOS_wolfcrypt_lib_SAMV71_XULT\Debug\Exe\wolfcrypt_lib.a
$PROJ_DIR$\..\..\extract_trial_here\Start\Lib\os7m_tlv_dp.a
6. The main project file is located here:
CUSTOM_DIR\wolfcrypt_test_custom_port\Application\runWolfcryptTests.c
7. Right Click the project name: Add -> Add Group
add a group called "Application"
8. Right Click that group and Add -> Add files
browse to the main project file in step 5 above
9. Create Groups and add files for your CPU's support. These will be .c
files found in the extracted directory in two places:
extract_trial_here\Start\BoardSupport\<vendor>\<CPU>\DeviceSupport
extract_trial_here\Start\BoardSupport\<vendor>\<CPU>\Setup
#---------------------------------------------
# For example:
# extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\
# DeviceSupport
# extract_trial_here\Start\BoardSupport\Atmel\SAMV71_XPlainedUltra\Setup
#---------------------------------------------
10. To get Logging working for seeing test results:
a. Go to Project -> Options -> General Options -> Library Configuration
b. In the field "Library low-level interface implementation"
Check the radio button for Semihosted
Then in the inner field marked "stdout/stderr"
Check the radio button for "Via semihosting" and click "OK"
11. Now we're ready to build and debug the project.
a. Project -> Options -> Debugger
In the field marked "Driver" Select drop-down and choose J-Link/J-Trace
Click "OK"
b. Project -> Rebuild All
c. Connect your Cortex-M evaluation board to j-Trace and j-Trace to PC
d. Connect the micro-USB to the debug port of the Cortex-M and PC for power
e. Project -> Download and Debug
12. Once the Debug environment spawns go to View -> Terminal I/O
This is where the "printf" to stdout will be directed
13. In the Debug Menu bar look for the little square with three arrows pointing
to the right. When you mouse over it should say "GO"
Click this option and in the Terminal I/O Window you should see something
like this (depends on which functionality you set in user_settings.h)
SEE NOTE 1 BELOW IF YOU OBSERVE AN ERROR (-40) IN RSA TEST
Begin wolfcrypt tests
MD5 test passed!
MD4 test passed!
SHA test passed!
SHA-256 test passed!
SHA-384 test passed!
SHA-512 test passed!
HMAC-MD5 test passed!
HMAC-SHA test passed!
HMAC-SHA256 test passed!
HMAC-SHA384 test passed!
HMAC-SHA512 test passed!
GMAC test passed!
HC-128 test passed!
Rabbit test passed!
Chacha test passed!
POLY1305 test passed!
ChaCha20-Poly1305 AEAD test passed!
DES test passed!
DES3 test passed!
AES test passed!
AES-GCM test passed!
RANDOM test passed!
RSA test passed!
DH test passed!
DSA test passed!
PWDBASED test passed!
ECC test passed!
wolfcrypt tests complete.
#----------------------------------------------------------------------------#
# SECTION 4:
# Evaluate benchmark tests in embOS project:
#----------------------------------------------------------------------------#
Follow the steps from section 3 only using
CUSTOM_DIR\wolfcrypt_benchmark_custom_port\
#----------------------------------------------------------------------------#
#----------------------------------------------------------------------------#
Thank you for using this guide and we hope this was helpful to you. If you have
any suggestions / feedback for us please contact us:
support@wolfssl.com
info@wolfssl.com
/* --------------------------------------------------------------------------*/
#### NOTE 1: ####
If you are working off of a base example project and you observe memory errors
when malloc is called, make sure that the linker script has set the HEAP high
enough.
Project -> Options -> Linker -> (Config Tab) -> Linker configuration file
Check this file for __size_heap__ it is typically set to 0x200 by default.
There are places in wolfSSL that malloc as much as 4k at a time and peak usage
can be as high as 29K if using full functionality.
/* --------------------------------------------------------------------------*/
Copyright © 2016 wolfSSL Inc. All rights reserved.

View File

@ -0,0 +1,33 @@
/*
* A simple example for evaluation purposes written from scratch by wolfSSL Inc
*/
/*###ICF### ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00400000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_RAM_start__ = 0x20400000;
define symbol __ICFEDIT_region_RAM_end__ = 0x20459999;
define symbol __ICFEDIT_region_ROM_start__ = 0x00400000;
define symbol __ICFEDIT_region_ROM_end__ = 0x00599999;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_heap__ = 0x13000;
/**** ###ICF###*/
define memory mem with size = 4G;
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
initialize by copy { readwrite };
do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite, block CSTACK, block HEAP };

View File

@ -0,0 +1,64 @@
#ifndef _EMBOS_USER_SETTINGS_H_
#define _EMBOS_USER_SETTINGS_H_
#undef WOLFSSL_EMBOS
#define WOLFSSL_EMBOS
#undef WOLFCRYPT_ONLY
#define WOLFCRYPT_ONLY
#undef NO_64BIT
#define NO_64BIT
#undef SIZEOF_LONG
#define SIZEOF_LONG 4
#undef SIZEOF_LONG_LONG
#define SIZEOF_LONG_LONG 8
#undef HAVE_CHACHA
#define HAVE_CHACHA
#undef HAVE_POLY1305
#define HAVE_POLY1305
#undef ECC_SHAMIR
#define ECC_SHAMIR
#undef HAVE_ECC
#define HAVE_ECC
#undef ECC_USER_CURVES
#define ECC_USER_CURVES
#undef ECC_ALT_SIZE
#define ECC_ALT_SIZE
#undef FP_MAX_BITS_ECC
#define FP_MAX_BITS_ECC 528
#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
#undef WOLFSSL_SHA512
#define WOLFSSL_SHA512
#undef WOLFSSL_SHA384
#define WOLFSSL_SHA384
#undef HAVE_AESGCM
#define HAVE_AESGCM
#undef NO_INLINE
#define NO_INLINE
#undef BENCH_EMBEDDED
#define BENCH_EMBEDDED
#undef WOLFSSL_SMALL_STACK
#define WOLFSSL_SMALL_STACK
#undef USE_WOLFSSL_MEMORY
#define USE_WOLFSSL_MEMORY
#endif /* _EMBOS_USER_SETTINGS_H_ */

View File

@ -0,0 +1,29 @@
#include "RTOS.h"
#include "BSP.h"
#include <stdio.h>
#include <wolfcrypt/benchmark/benchmark.h>
static OS_STACKPTR int WLFSTACK[20000]; /* Stack Size for Task */
static OS_TASK WLFTASK; /* Task */
static void wolfTask(void) {
printf("Begin benchmark tests\n");
wolfcrypt_test(NULL);
printf("benchmark tests complete.\n");
while (1) {
BSP_ToggleLED(1);
OS_Delay(200);
}
}
int main(void) {
OS_IncDI(); /* Disable interrupts */
OS_InitKern(); /* Initialize OS */
OS_InitHW(); /* Initialize Hardware */
BSP_Init(); /* Initialize LED ports */
/* You need to create at least one task before calling OS_Start() */
OS_CREATETASK(&WLFTASK, "Tests task", wolfTask, 100, WLFSTACK);
OS_Start(); /* Start the OS */
return 0;
}

View File

@ -0,0 +1,30 @@
#include "RTOS.h"
#include "BSP.h"
#include <stdio.h>
#include <wolfcrypt/test/test.h>
static OS_STACKPTR int WLFSTACK[20000]; /* Stack Size for Task */
static OS_TASK WLFTASK; /* Task */
static void wolfTask(void) {
printf("Begin wolfcrypt tests\n");
wolfcrypt_test(NULL);
printf("wolfcrypt tests complete.\n");
while (1) {
BSP_ToggleLED(1);
OS_Delay(200);
}
}
int main(void) {
OS_IncDI(); /* Disable interrupts */
OS_InitKern(); /* Initialize OS */
OS_InitHW(); /* Initialize Hardware for OS */
BSP_Init(); /* Initialize LED ports */
/* You need to create at least one task before calling OS_Start() */
OS_CREATETASK(&WLFTASK, "Tests task", wolfTask, 100, WLFSTACK);
OS_Start(); /* Start the OS */
return 0;
}

View File

@ -0,0 +1,32 @@
An empty directory used when extracting segger trial.
*** For SAMV71_XULT project ***
This trial can be found here:
https://www.segger.com/downloads/embos
Look for the Download for IAR compiler and Cortex M
The title should be: "embOS trial for Cortex-M and IAR compiler"
*** For custom port ***
The trial will still be located at: https://www.segger.com/downloads/embos
However you will need to identify and download the correct project for your
target CPU
Thank you for using this guide and we hope this is helpful to you. If you have
any suggestions / feedback for us please contact us:
support@wolfssl.com
info@wolfssl.com
Copyright © 2016 wolfSSL Inc. All rights reserved.

158
IDE/INTIME-RTOS/README.md Executable file
View File

@ -0,0 +1,158 @@
# tenAsys INtime RTOS Port
## Overview
This port is for the tenAsys INtime RTOS available [here](http://www.tenasys.com/intime).
To enable use the define `INTIME_RTOS`.
## Usage
The wolfExamples.sln is a Visual Studio 2015 project. You must have the INtime SDK installed and an INtime RTOS agent running.
The default configuration is set inside the `IDE/INTIME-RTOS/user_settings.h` file.
The example application provides a simple menu interface to select difference application functions to test.
```
wolfExamples started
wolfExamples finished initialization
MENU
t. WolfCrypt Test
b. WolfCrypt Benchmark
c. WolfSSL Client Example
s. WolfSSL Server Example
l. WolfSSL Localhost Client/Server Example
Please select one of the above options:
```
### `t`wolfCrypt Test
Performs testing of all crypto algorithms.
```
Crypt Test
error test passed!
base64 test passed!
base64 test passed!
MD5 test passed!
SHA test passed!
SHA-256 test passed!
SHA-384 test passed!
SHA-512 test passed!
Hash test passed!
HMAC-MD5 test passed!
HMAC-SHA test passed!
HMAC-SHA256 test passed!
HMAC-SHA384 test passed!
HMAC-SHA512 test passed!
HMAC-KDF test passed!
X963-KDF test passed!
GMAC test passed!
Chacha test passed!
POLY1305 test passed!
ChaCha20-Poly1305 AEAD test passed!
DES test passed!
DES3 test passed!
AES test passed!
AES-GCM test passed!
AES-CCM test passed!
AES Key Wrap test passed!
RANDOM test passed!
RSA test passed!
DH test passed!
DSA test passed!
SRP test passed!
PWDBASED test passed!
openSSL extra test
OPENSSL test passed!
ECC test passed!
ECC Enc test passed!
ECC buffer test passed!
CURVE25519 test passed!
ED25519 test passed!
CMAC test passed!
PKCS7enveloped test passed!
PKCS7signed test passed!
PKCS7encrypted test passed!
mutex test passed!
memcb test passed!
Crypt Test: Return code 0
```
### `b` wolfCrypt Benchmark
Performs benchmark of crypto algorithms.
```
Benchmark Test
RNG 25 kB took 0.002 seconds, 11.017 MB/s
AES enc 25 kB took 0.002 seconds, 15.090 MB/s
AES dec 25 kB took 0.002 seconds, 15.119 MB/s
AES-GCM 25 kB took 0.003 seconds, 9.433 MB/s
AES-CTR 25 kB took 0.001 seconds, 22.378 MB/s
AES-CCM 25 kB took 0.002 seconds, 15.306 MB/s
CHACHA 25 kB took 0.002 seconds, 16.063 MB/s
CHA-POLY 25 kB took 0.001 seconds, 20.447 MB/s
3DES 25 kB took 0.002 seconds, 10.717 MB/s
MD5 25 kB took 0.00 seconds, 31.576 MB/s
POLY1305 25 kB took 0.000 seconds, 201.575 MB/s
SHA 25 kB took 0.00 seconds, 43.761 MB/s
SHA-256 25 kB took 0.001 seconds, 19.299 MB/s
SHA-384 25 kB took 0.002 seconds, 14.577 MB/s
SHA-512 25 kB took 0.001 seconds, 21.718 MB/s
AES-CMAC 25 kB took 0.00 seconds, 34.925 MB/s
RSA 2048 public 2.445 milliseconds, avg over 1 iterations
RSA 2048 private 64.711 milliseconds, avg over 1 iterations
RSA 1024 key generation 318.755 milliseconds, avg over 5 iterations
RSA 2048 key generation 22648.396 milliseconds, avg over 5 iterations
DH 2048 key generation 23.119 milliseconds, avg over 1 iterations
DH 2048 key agreement 26.756 milliseconds, avg over 1 iterations
ECC 256 key generation 2.984 milliseconds, avg over 5 iterations
EC-DHE key agreement 2.967 milliseconds, avg over 5 iterations
EC-DSA sign time 1.448 milliseconds, avg over 5 iterations
EC-DSA verify time 3.304 milliseconds, avg over 5 iterations
ECC encrypt 5.860 milliseconds, avg over 1 iterations
ECC decrypt 6.360 milliseconds, avg over 1 iterations
CURVE25519 256 key generation 1.416 milliseconds, avg over 5 iterations
CURVE25519 key agreement 1.332 milliseconds, avg over 5 iterations
ED25519 key generation 0.320 milliseconds, avg over 5 iterations
ED25519 sign time 0.595 milliseconds, avg over 5 iterations
ED25519 verify time 1.310 milliseconds, avg over 5 iterations
Benchmark Test: Return code 0
```
### `c` wolfSSL Client
To configure the host address and port modify the `TLS_HOST_REMOTE` and `TLS_PORT` macros at top of `wolfExamples.c`. This example uses TLS 1.2 to connect to a remote host.
### `s` wolfSSL Server
To configure the port to listen on modify `TLS_PORT` at top of `wolfExamples.c`.
### `l` wolfSSL Localhost Server/Client
Starts a TLS server thread listening on localhost. Starts the TLS client and performs connect, exchanges some data and disconnects.
```
Waiting for a connection...
Client connected successfully
Using Non-Blocking I/O: 0
Message for server: Client:
Received: I hear ya fa shizzle!
The client has closed the connection.
```
## References
For more information please contact info@wolfssl.com.

View File

@ -0,0 +1,13 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root
EXTRA_DIST += \
IDE/INTIME-RTOS/README.md \
IDE/INTIME-RTOS/user_settings.h \
IDE/INTIME-RTOS/libwolfssl.c \
IDE/INTIME-RTOS/libwolfssl.vcxproj \
IDE/INTIME-RTOS/wolfExamples.c \
IDE/INTIME-RTOS/wolfExamples.h \
IDE/INTIME-RTOS/wolfExamples.vcxproj \
IDE/INTIME-RTOS/wolfExamples.sln

20
IDE/INTIME-RTOS/libwolfssl.c Executable file
View File

@ -0,0 +1,20 @@
// libwolfssl.c
// Defines the entry point for the DLL application
#include <rt.h>
BOOLEAN __stdcall RslMain( RTHANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call) {
case RSL_PROCESS_ATTACH:
case RSL_THREAD_ATTACH:
case RSL_THREAD_DETACH:
case RSL_PROCESS_DETACH:
break;
}
return TRUE;
}

View File

@ -0,0 +1,225 @@
<?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\io.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\async.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\hc128.c" />
<ClCompile Include="..\..\wolfcrypt\src\hmac.c" />
<ClCompile Include="..\..\wolfcrypt\src\idea.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\rabbit.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\hc128.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\hmac.h" />
<ClInclude Include="..\..\wolfssl\wolfcrypt\idea.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\rabbit.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;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
<XMLDocumentationFileName>$(IntDir)</XMLDocumentationFileName>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
</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;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
<XMLDocumentationFileName>$(IntDir)</XMLDocumentationFileName>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

511
IDE/INTIME-RTOS/user_settings.h Executable file
View File

@ -0,0 +1,511 @@
/* Example custom user settings for wolfSSL and INtime RTOS port */
#ifndef WOLFSSL_USER_SETTINGS_H
#define WOLFSSL_USER_SETTINGS_H
#ifdef __cplusplus
extern "C" {
#endif
/* ------------------------------------------------------------------------- */
/* Port - Platform */
/* ------------------------------------------------------------------------- */
#undef INTIME_RTOS
#define INTIME_RTOS
#undef WOLF_EXAMPLES_STACK
#define WOLF_EXAMPLES_STACK 65536
#undef WOLFSSL_GENERAL_ALIGNMENT
#define WOLFSSL_GENERAL_ALIGNMENT 4
/* platform already has min()/max() */
#undef WOLFSSL_HAVE_MIN
#define WOLFSSL_HAVE_MIN
#undef WOLFSSL_HAVE_MAX
#define WOLFSSL_HAVE_MAX
/* disable directory support */
#undef NO_WOLFSSL_DIR
#define NO_WOLFSSL_DIR
/* disable writev */
#undef NO_WRITEV
#define NO_WRITEV
/* we provide main entry point */
#undef NO_MAIN_DRIVER
#define NO_MAIN_DRIVER
/* if using in single threaded mode */
#undef SINGLE_THREADED
//#define SINGLE_THREADED
/* Note: HAVE_THREAD_LS is not support for INtime RTOS */
/* reduces stack usage, by using malloc/free for stack variables over 100 bytes */
#undef WOLFSSL_SMALL_STACK
//#define WOLFSSL_SMALL_STACK
/* ------------------------------------------------------------------------- */
/* Math Configuration */
/* ------------------------------------------------------------------------- */
/* fast math uses stack and inline assembly to speed up math */
#undef USE_FAST_MATH
#define USE_FAST_MATH
#ifdef USE_FAST_MATH
/* timing resistance for side-channel attack protection */
#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
#endif
/* ------------------------------------------------------------------------- */
/* Crypto */
/* ------------------------------------------------------------------------- */
/* ECC */
#if 1
#undef HAVE_ECC
#define HAVE_ECC
/* Support for custom curves */
#define WOLFSSL_CUSTOM_CURVES
/* Curve types */
//#define NO_ECC_SECP
#define HAVE_ECC_SECPR2
#define HAVE_ECC_SECPR3
#define HAVE_ECC_BRAINPOOL
#define HAVE_ECC_KOBLITZ
/* Curve sizes */
#undef HAVE_ALL_CURVES
//#define HAVE_ALL_CURVES
#ifndef HAVE_ALL_CURVES
/* allows enabling custom curve sizes */
#undef ECC_USER_CURVES
#define ECC_USER_CURVES
//#define HAVE_ECC112
//#define HAVE_ECC128
//#define HAVE_ECC160
#define HAVE_ECC192
#define HAVE_ECC224
//#define NO_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 */
/* timing resistance for side-channel attack protection */
#undef ECC_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
#ifdef USE_FAST_MATH
/* use reduced size math buffers for ecc points */
#undef ALT_ECC_SIZE
#define ALT_ECC_SIZE
/* Enable TFM optimizations for ECC */
#if defined(HAVE_ECC192) || defined(HAVE_ALL_CURVES)
#define TFM_ECC192
#endif
#if defined(HAVE_ECC224) || defined(HAVE_ALL_CURVES)
#define TFM_ECC224
#endif
#if !defined(NO_ECC256) || defined(HAVE_ALL_CURVES)
#define TFM_ECC256
#endif
#if defined(HAVE_ECC384) || defined(HAVE_ALL_CURVES)
#define TFM_ECC384
#endif
#if defined(HAVE_ECC521) || defined(HAVE_ALL_CURVES)
#define TFM_ECC521
#endif
#endif
#endif
/* RSA */
#undef NO_RSA
#if 1
#ifdef USE_FAST_MATH
/* Maximum math bits (Max RSA key bits * 2) */
#undef FP_MAX_BITS
#define FP_MAX_BITS 4096
#endif
/* half as much memory but twice as slow */
#undef RSA_LOW_MEM
//#define RSA_LOW_MEM
/* RSA blinding countermeasures */
#undef WC_RSA_BLINDING
#define WC_RSA_BLINDING
#else
#define NO_RSA
#endif
/* AES */
#undef NO_AES
#if 1
#undef HAVE_AESGCM
#define HAVE_AESGCM
#ifdef HAVE_AESGCM
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
//#define GCM_SMALL
#define GCM_TABLE
#endif
#undef WOLFSSL_AES_COUNTER
#define WOLFSSL_AES_COUNTER
#undef HAVE_AESCCM
#define HAVE_AESCCM
#undef WOLFSSL_AES_DIRECT
#define WOLFSSL_AES_DIRECT
#undef HAVE_AES_KEYWRAP
#define HAVE_AES_KEYWRAP
#else
#define NO_AES
#endif
/* ChaCha20 / Poly1305 */
#undef HAVE_CHACHA
#undef HAVE_POLY1305
#if 1
#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 1
#define HAVE_CURVE25519
#define HAVE_ED25519
/* Optionally use small math (less flash usage, but much slower) */
#if 0
#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
#else
#define NO_SHA256
#endif
/* Sha512 */
#undef WOLFSSL_SHA512
#if 1
#define WOLFSSL_SHA512
/* Sha384 */
#undef WOLFSSL_SHA384
#if 1
#define WOLFSSL_SHA384
#endif
/* over twice as small, but 50% slower */
//#define USE_SLOW_SHA2
#endif
/* MD5 */
#undef NO_MD5
#if 1
#else
#define NO_MD5
#endif
/* ------------------------------------------------------------------------- */
/* Enable Features */
/* ------------------------------------------------------------------------- */
#undef KEEP_PEER_CERT
#define KEEP_PEER_CERT
#undef HAVE_COMP_KEY
#define HAVE_COMP_KEY
#undef HAVE_ECC_ENCRYPT
#define HAVE_ECC_ENCRYPT
#undef HAVE_TLS_EXTENSIONS
#define HAVE_TLS_EXTENSIONS
#undef HAVE_SUPPORTED_CURVES
#define HAVE_SUPPORTED_CURVES
#undef HAVE_EXTENDED_MASTER
#define HAVE_EXTENDED_MASTER
#undef WOLFSSL_DTLS
#define WOLFSSL_DTLS
#undef OPENSSL_EXTRA
#define OPENSSL_EXTRA
#undef WOLFSSL_BASE64_ENCODE
#define WOLFSSL_BASE64_ENCODE
#undef HAVE_HKDF
#define HAVE_HKDF
#undef WOLFSSL_CMAC
#define WOLFSSL_CMAC
#undef WOLFSSL_KEY_GEN
#define WOLFSSL_KEY_GEN
#undef WOLFSSL_CERT_GEN
#define WOLFSSL_CERT_GEN
#undef WOLFSSL_CERT_REQ
#define WOLFSSL_CERT_REQ
#undef WOLFSSL_CERT_EXT
#define WOLFSSL_CERT_EXT
#undef HAVE_PK_CALLBACKS
#define HAVE_PK_CALLBACKS
#undef HAVE_ALPN
#define HAVE_ALPN
#undef HAVE_SNI
#define HAVE_SNI
#undef HAVE_MAX_FRAGMENT
#define HAVE_MAX_FRAGMENT
#undef HAVE_TRUNCATED_HMAC
#define HAVE_TRUNCATED_HMAC
#undef SESSION_CERTS
#define SESSION_CERTS
#undef HAVE_SESSION_TICKET
#define HAVE_SESSION_TICKET
#undef WOLFCRYPT_HAVE_SRP
#define WOLFCRYPT_HAVE_SRP
#undef WOLFSSL_HAVE_CERT_SERVICE
#define WOLFSSL_HAVE_CERT_SERVICE
#undef HAVE_PKCS7
#define HAVE_PKCS7
#undef HAVE_X963_KDF
#define HAVE_X963_KDF
#undef WOLFSSL_HAVE_WOLFSCEP
#define WOLFSSL_HAVE_WOLFSCEP
#undef WOLFSSL_ALWAYS_KEEP_SNI
#define WOLFSSL_ALWAYS_KEEP_SNI
#undef WOLFSSL_ALWAYS_VERIFY_CB
#define WOLFSSL_ALWAYS_VERIFY_CB
#undef WOLFSSL_SEP
#define WOLFSSL_SEP
#undef ATOMIC_USER
#define ATOMIC_USER
#undef HAVE_OCSP
#define HAVE_OCSP
#undef HAVE_CERTIFICATE_STATUS_REQUEST
#define HAVE_CERTIFICATE_STATUS_REQUEST
#undef HAVE_CERTIFICATE_STATUS_REQUEST_V2
#define HAVE_CERTIFICATE_STATUS_REQUEST_V2
#undef HAVE_CRL
#define HAVE_CRL
#undef PERSIST_CERT_CACHE
//#define PERSIST_CERT_CACHE
#undef PERSIST_SESSION_CACHE
//#define PERSIST_SESSION_CACHE
#undef WOLFSSL_DER_LOAD
//#define WOLFSSL_DER_LOAD
#undef WOLFSSL_DES_ECB
//#define WOLFSSL_DES_ECB
#undef HAVE_CAMELLIA
//#define HAVE_CAMELLIA
#undef HAVE_NULL_CIPHER
//#define HAVE_NULL_CIPHER
#undef WOLFSSL_RIPEMD
//#define WOLFSSL_RIPEMD
/* TLS Session Cache */
#if 1
#define SMALL_SESSION_CACHE
//#define MEDIUM_SESSION_CACHE
//#define BIG_SESSION_CACHE
//#define HUGE_SESSION_CACHE
#else
#define NO_SESSION_CACHE
#endif
/* ------------------------------------------------------------------------- */
/* Disable Features */
/* ------------------------------------------------------------------------- */
#undef NO_WOLFSSL_SERVER
//#define NO_WOLFSSL_SERVER
#undef NO_WOLFSSL_CLIENT
//#define NO_WOLFSSL_CLIENT
/* disables TLS 1.0/1.1 support */
#undef NO_OLD_TLS
//#define NO_OLD_TLS
/* disable access to filesystem */
#undef NO_FILESYSTEM
//#define NO_FILESYSTEM
#undef NO_RC4
#define NO_RC4
#undef NO_HC128
#define NO_HC128
#undef NO_RABBIT
#define NO_RABBIT
#undef NO_MD4
#define NO_MD4
/* Pre-shared keys */
#undef NO_PSK
//#define NO_PSK
#undef NO_DSA
//#define NO_DSA
#undef NO_DH
//#define NO_DH
#undef NO_DES3
//#define NO_DES3
#undef NO_PWDBASED
//#define NO_PWDBASED
/* encoding/decoding support */
#undef NO_CODING
//#define NO_CODING
/* memory wrappers and memory callbacks */
#undef NO_WOLFSSL_MEMORY
//#define NO_WOLFSSL_MEMORY
/* 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
/* ------------------------------------------------------------------------- */
/* Benchmark / Test */
/* ------------------------------------------------------------------------- */
#undef NO_CRYPT_TEST
//#define NO_CRYPT_TEST
#undef NO_CRYPT_BENCHMARK
//#define NO_CRYPT_BENCHMARK
/* 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_256
#define USE_CERT_BUFFERS_256
/* ------------------------------------------------------------------------- */
/* Debugging */
/* ------------------------------------------------------------------------- */
#undef DEBUG_WOLFSSL
//#define DEBUG_WOLFSSL
#ifdef DEBUG_WOLFSSL
/* Use this to measure / print heap usage */
#if 0
#undef USE_WOLFSSL_MEMORY
#define USE_WOLFSSL_MEMORY
#undef WOLFSSL_TRACK_MEMORY
#define WOLFSSL_TRACK_MEMORY
#endif
/* Math debugging (adds support for mp_dump) */
#undef WOLFSSL_DEBUG_MATH
//#define WOLFSSL_DEBUG_MATH
#else
#undef NO_ERROR_STRINGS
//#define NO_ERROR_STRINGS
#endif
#ifdef __cplusplus
}
#endif
#endif /* WOLFSSL_USER_SETTINGS_H */

619
IDE/INTIME-RTOS/wolfExamples.c Executable file
View File

@ -0,0 +1,619 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <rt.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <io.h>
#include "wolfExamples.h"
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#include <wolfssl/certs_test.h>
#include <wolfcrypt/test/test.h>
#include <wolfcrypt/benchmark/benchmark.h>
/*****************************************************************************
* Globals
****************************************************************************/
RTHANDLE hRootProcess;
DWORD dwKtickInUsecs;
INIT_STRUCT gInit;
static int gServerExit = 0;
static int gServerReady = 0;
static const char menu1[] = "\r\n"
"\tt. WolfCrypt Test\r\n"
"\tb. WolfCrypt Benchmark\r\n"
"\tc. WolfSSL Client Example\r\n"
"\ts. WolfSSL Server Example\r\n"
"\tl. WolfSSL Localhost Client/Server Example\r\n";
/*****************************************************************************
* Configuration
****************************************************************************/
#define TLS_MAXDATASIZE 4096 /* maximum acceptable amount of data */
#define TLS_PORT 11111 /* define default port number */
#define TLS_HOST_LOCAL "127.0.0.1"
#define TLS_HOST_REMOTE "192.168.0.112"
#define SOCK_MAX_PENDING 5
#define THREAD_BASE_PRIO 150
/*****************************************************************************
* TLS Client
****************************************************************************/
int wolfExample_TLSClient(const char* ip, int port)
{
int ret = 0;
WOLFSSL_CTX* ctx = NULL;
WOLFSSL* ssl = NULL; /* create WOLFSSL object */
int sockFd = -1; /* socket file descriptor */
struct sockaddr_in servAddr; /* struct for server address */
char sendBuff[TLS_MAXDATASIZE], rcvBuff[TLS_MAXDATASIZE];
sockFd = socket(AF_INET, SOCK_STREAM, 0);
if (sockFd < 0) {
printf("Failed to create socket. Error: %d\n", errno);
return errno;
}
memset(&servAddr, 0, sizeof(servAddr)); /* clears memory block for use */
servAddr.sin_family = AF_INET; /* sets addressfamily to internet*/
servAddr.sin_port = htons(port); /* sets port to defined port */
/* looks for the server at the entered address (ip in the command line) */
if (inet_pton(AF_INET, ip, &servAddr.sin_addr) < 1) {
/* checks validity of address */
ret = errno;
printf("Invalid Address. Error: %d\n", ret);
goto exit;
}
if (connect(sockFd, (struct sockaddr *)&servAddr, sizeof(servAddr)) < 0) {
/* if socket fails to connect to the server*/
ret = errno;
printf("Connect error. Error: %d\n", ret);
goto exit;
}
/* create and initialize WOLFSSL_CTX structure */
if ((ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method())) == NULL) {
printf("SSL_CTX_new error.\n");
goto exit;
}
/* load CA certificates into wolfSSL_CTX. which will verify the server */
ret = wolfSSL_CTX_load_verify_buffer(ctx, ca_cert_der_2048,
sizeof_ca_cert_der_2048, SSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
printf("Error %d loading CA cert\n", ret);
goto exit;
}
if ((ssl = wolfSSL_new(ctx)) == NULL) {
printf("wolfSSL_new error.\n");
goto exit;
}
wolfSSL_set_fd(ssl, sockFd);
ret = wolfSSL_connect(ssl);
if (ret == SSL_SUCCESS) {
printf("Message for server:\t");
fgets(sendBuff, TLS_MAXDATASIZE, stdin);
if (wolfSSL_write(ssl, sendBuff, strlen(sendBuff)) != strlen(sendBuff)) {
/* the message is not able to send, or error trying */
ret = wolfSSL_get_error(ssl, 0);
printf("Write error: Error: %d\n", ret);
goto exit;
}
memset(rcvBuff, 0, TLS_MAXDATASIZE);
if (wolfSSL_read(ssl, rcvBuff, TLS_MAXDATASIZE) < 0) {
/* the server failed to send data, or error trying */
ret = wolfSSL_get_error(ssl, 0);
printf("Read error. Error: %d\n", ret);
goto exit;
}
printf("Received: \t%s\n", rcvBuff);
}
exit:
/* frees all data before client termination */
if (sockFd != -1)
close(sockFd);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
gServerExit = 1;
return ret;
}
/*****************************************************************************
* TLS Server
****************************************************************************/
int wolfExample_TLSServer(int port)
{
int ret = 0;
WOLFSSL_CTX* ctx = NULL;
WOLFSSL* ssl = NULL;
int sockFd = -1, clientFd = -1;
struct sockaddr_in serverAddr = {0}, clientAddr = {0};
const char reply[] = "I hear ya fa shizzle!\n";
int addrSize = sizeof(clientAddr);
char buff[256];
sockFd = socket(AF_INET, SOCK_STREAM, 0);
if (sockFd < 0) {
printf("Failed to create socket. Error: %d\n", errno);
return errno;
}
/* create and initialize WOLFSSL_CTX structure */
if ((ctx = wolfSSL_CTX_new(wolfTLSv1_2_server_method())) == NULL) {
fprintf(stderr, "wolfSSL_CTX_new error.\n");
goto exit;
}
/* Load server certificate into WOLFSSL_CTX */
ret = wolfSSL_CTX_use_certificate_buffer(ctx, server_cert_der_2048,
sizeof_server_cert_der_2048, SSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
fprintf(stderr, "Error %d loading server-cert!\n", ret);
goto exit;
}
/* Load server key into WOLFSSL_CTX */
ret = wolfSSL_CTX_use_PrivateKey_buffer(ctx, server_key_der_2048,
sizeof_server_key_der_2048, SSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
fprintf(stderr, "Error %d loading server-key!\n", ret);
goto exit;
}
/* Initialize the server address struct to zero */
memset((char *)&serverAddr, 0, sizeof(serverAddr));
/* Fill the server's address family */
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = INADDR_ANY;
serverAddr.sin_port = htons(port);
/* Attach the server socket to our port */
if (bind(sockFd, (struct sockaddr *)&serverAddr, sizeof(serverAddr)) < 0) {
printf("ERROR: failed to bind\n");
goto exit;
}
printf("Waiting for a connection...\n");
gServerReady = 1;
/* Continuously accept connects while not in an active connection */
while (gServerExit == 0) {
/* listen for a new connection */
ret = listen(sockFd, SOCK_MAX_PENDING);
if (ret == 0) {
/* Wait until a client connects */
clientFd = accept(sockFd, (struct sockaddr*)&clientAddr, &addrSize);
/* If fails to connect, loop back up and wait for a new connection */
if (clientFd == -1) {
printf("failed to accept the connection..\n");
}
/* If it connects, read in and reply to the client */
else {
printf("Client connected successfully\n");
ssl = wolfSSL_new(ctx);
if (ssl == NULL) {
fprintf(stderr, "wolfSSL_new error.\n");
break;
}
/* direct our ssl to our clients connection */
wolfSSL_set_fd(ssl, clientFd);
printf("Using Non-Blocking I/O: %d\n",
wolfSSL_get_using_nonblock(ssl));
for ( ; ; ) {
/* Clear the buffer memory for anything possibly left over */
memset(&buff, 0, sizeof(buff));
/* Read the client data into our buff array */
ret = wolfSSL_read(ssl, buff, sizeof(buff) - 1);
if (ret > 0) {
/* Print any data the client sends to the console */
printf("Client: %s\n", buff);
/* Reply back to the client */
ret = wolfSSL_write(ssl, reply, sizeof(reply) - 1);
if (ret < 0) {
printf("wolfSSL_write error = %d\n",
wolfSSL_get_error(ssl, ret));
gServerExit = 1;
break;
}
}
/* if the client disconnects break the loop */
else {
if (ret < 0)
printf("wolfSSL_read error = %d\n",
wolfSSL_get_error(ssl, ret));
else if (ret == 0)
printf("The client has closed the connection.\n");
gServerExit = 1;
break;
}
}
wolfSSL_free(ssl); /* Free the WOLFSSL object */
ssl = NULL;
}
close(clientFd); /* close the connected socket */
clientFd = -1;
}
} /* while */
exit:
if (clientFd != -1)
close(clientFd);
if (sockFd != -1)
close(sockFd);
wolfSSL_free(ssl); /* Free the WOLFSSL object */
wolfSSL_CTX_free(ctx); /* Free WOLFSSL_CTX */
return ret;
}
/*****************************************************************************
* TLS Local Test
****************************************************************************/
static void wolfSSLLocalServerThread(void* param)
{
int port = (int)((int*)param);
wolfExample_TLSServer(port);
}
int wolfExample_TLSLocal(int port)
{
int ret;
RTHANDLE srvHandle;
/* start server thread */
srvHandle = CreateRtThread(THREAD_BASE_PRIO + 10,
(LPPROC)wolfSSLLocalServerThread, WOLF_EXAMPLES_STACK, (void*)port);
if (srvHandle == BAD_RTHANDLE) {
Fail("Cannot create server thread");
return -1;
}
/* wait for server to be ready */
while (gServerReady != 1) {
RtSleep(0);
}
/* run client */
ret = wolfExample_TLSClient(TLS_HOST_LOCAL, port);
return ret;
}
/*****************************************************************************
* Thread
memset(&args, 0, sizeof(args));
****************************************************************************/
typedef struct func_args {
int argc;
char** argv;
int return_code;
} func_args;
static void wolfExampleThread(void* param)
{
func_args args;
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* initialize wolfSSL */
wolfSSL_Init();
while (1) {
char rc;
gServerExit = 0;
gServerReady = 0;
printf("\r\n\t\t\t\tMENU\r\n");
printf(menu1);
printf("Please select one of the above options: ");
rc = getchar();
switch (rc) {
case 't':
printf("\nCrypt Test\n");
wolfcrypt_test(&args);
printf("Crypt Test: Return code %d\n", args.return_code);
break;
case 'b':
printf("\nBenchmark Test\n");
benchmark_test(&args);
printf("Benchmark Test: Return code %d\n", args.return_code);
break;
case 'c':
wolfExample_TLSClient(TLS_HOST_REMOTE, TLS_PORT);
break;
case 's':
wolfExample_TLSServer(TLS_PORT);
break;
case 'l':
wolfExample_TLSLocal(TLS_PORT);
break;
// All other cases go here
default:
if (rc != '\r' && rc != '\n')
printf("\r\nSelection %c out of range\r\n", rc);
break;
}
}
wolfSSL_Cleanup();
}
/*****************************************************************************
* FUNCTION: Catalog
*
* PARAMETERS: 1. handle of the process whose object directory must be used
* 2. the object whose handle must be cataloged
* 3. the name to be used (upto 14 characters)
*
* RETURNS: TRUE on success
*
* DESCRIPTION: If the given name already exists,
* and the existing name refers to a non-existing object,
* then the existing name is removed before cataloging.
\*****************************************************************************/
BOOLEAN Catalog(
RTHANDLE hProcess,
RTHANDLE hObject,
LPSTR lpszName)
{
RTHANDLE hOld;
if (CatalogRtHandle(hProcess, hObject, lpszName))
return TRUE;
// something wrong: check for the case mentioned above
if (((hOld = LookupRtHandle(hProcess, lpszName, NO_WAIT)) != BAD_RTHANDLE) &&
(GetRtHandleType(hOld) == INVALID_TYPE))
{
// this is the case mentioned above: remove the old entry and try again
if (UncatalogRtHandle(hProcess, lpszName))
return (CatalogRtHandle(hProcess, hObject, lpszName));
}
return FALSE;
}
/*****************************************************************************
* FUNCTION: Cleanup (local function)
*
* DESCRIPTION:
* Tell threads to delete themselves and wait a while;
* if any thread still exists, kill it.
* Remove all other objects as far as they have been created.
\*****************************************************************************/
void Cleanup(void)
{
// indicate that we are cleaning up
gInit.state = CLEANUP_BUSY;
gInit.bShutdown = TRUE;
#ifdef _DEBUG
fprintf(stderr, "wolfExamples started cleaning up\n");
#endif
// remove our name from the root process
if (gInit.bCataloged) {
if (!UncatalogRtHandle(hRootProcess, "wolfExample"))
Fail("Cannot remove my own name");
}
#ifdef _DEBUG
fprintf(stderr, "wolfExamples finished cleaning up\n");
#endif
// lie down
exit(0);
}
/*****************************************************************************
* FUNCTION: Fail
*
* PARAMETERS: same parameters as expected by printf
*
* DESCRIPTION:
* If in debug mode, prints the message, appending a new line and the error number.
* Then the current process is killed graciously:
* If the current thread is the main thread, this is done directly.
* if the current thread is another one, a terminate request is sent and
* the function returns to the calling thread.
\*****************************************************************************/
void Fail(LPSTR lpszMessage, ...)
{
EXCEPTION eh;
RTHANDLE hDelMbx;
DWORD dwTerminate;
#ifdef _DEBUG
va_list ap;
va_start(ap, lpszMessage);
vfprintf(stderr, lpszMessage, ap);
va_end(ap);
fprintf(stderr, "\nError nr=%x %s\n", GetLastRtError(), GetRtErrorText(GetLastRtError()));
#endif
// make sure that exceptions are returned for inline handling
GetRtExceptionHandlerInfo(THREAD_HANDLER, &eh);
eh.ExceptionMode = 0;
SetRtExceptionHandler(&eh);
// if we had not started initializing yet, just get out
if (BEFORE_INIT == gInit.state)
exit(0);
if (gInit.hMain == GetRtThreadHandles(THIS_THREAD))
{
// this is the main thread:
// if we are busy initializing, then do Cleanup
if (INIT_BUSY == gInit.state)
Cleanup(); // does not return
// this is the main thread, but we are not initializing: just return
return;
}
// this is not the main thread:
// ask main thread to do cleanup
// (allow some time to setup the deletion mailbox, ignore errors)
hDelMbx = LookupRtHandle(NULL_RTHANDLE, "R?EXIT_MBOX", 5000);
dwTerminate = TERMINATE;
SendRtData(hDelMbx, &dwTerminate, 4);
}
/*****************************************************************************
*
* FUNCTION: UsecsToKticks
*
* PARAMETERS: 1. number of usecs
*
* RETURNS: number of low level ticks
*
* DESCRIPTION: returns the parameter if it is WAIT_FOREVER
* otherwise rounds up to number of low level ticks
\*****************************************************************************/
DWORD UsecsToKticks(DWORD dwUsecs)
{
if (dwUsecs == WAIT_FOREVER)
return WAIT_FOREVER;
return (dwUsecs + dwKtickInUsecs - 1) / dwKtickInUsecs;
}
/*****************************************************************************
* FUNCTION: main
*
* DESCRIPTION:
* This is the main program module.
* It creates global objects and all threads.
* The main thread then waits for notifications and acts accordingly
\*****************************************************************************/
int main(int argc, char* argv[])
{
SYSINFO sysinfo;
EVENTINFO eiEventInfo;
RTHANDLE taskHandle;
#ifdef _DEBUG
fprintf(stderr, "wolfExamples started\n");
#endif
// obtain handle of root process (cannot fail)
hRootProcess = GetRtThreadHandles(ROOT_PROCESS);
// initialize the structure for cleaning up
memset(&gInit, 0, sizeof(gInit));
gInit.state = BEFORE_INIT;
// get low level tick length in usecs
if (!CopyRtSystemInfo(&sysinfo))
Fail("Cannot copy system info");
dwKtickInUsecs = 10000 / sysinfo.KernelTickRatio;
if (dwKtickInUsecs == 0)
Fail("Invalid low level tick length");
// adjust process max priority (ignore error)
// TODO adjust the 2nd parameter to a value closer to zero if you want to allow more priorities
SetRtProcessMaxPriority(NULL_RTHANDLE, THREAD_BASE_PRIO);
// obtain main thread's handle
gInit.hMain = GetRtThreadHandles(THIS_THREAD);
gInit.state = INIT_BUSY;
// attempt to catalog the thread but ignore error
Catalog(NULL_RTHANDLE, gInit.hMain, "TMain");
// catalog the handle of this process in the root process
if (!Catalog(hRootProcess, GetRtThreadHandles(THIS_PROCESS), "wolfExample")) {
Fail("Cannot catalog process name");
}
gInit.bCataloged = TRUE;
// create thread
taskHandle = CreateRtThread(THREAD_BASE_PRIO + 20,
(LPPROC)wolfExampleThread, WOLF_EXAMPLES_STACK, 0);
if (taskHandle == BAD_RTHANDLE) {
Fail("Cannot create thread");
}
// indicate that initialization has finished
gInit.state = INIT_DONE;
#ifdef _DEBUG
fprintf(stderr, "wolfExamples finished initialization\n");
#endif
// wait for notifications
while (RtNotifyEvent(RT_SYSTEM_NOTIFICATIONS | RT_EXIT_NOTIFICATIONS,
WAIT_FOREVER, &eiEventInfo))
{
switch(eiEventInfo.dwNotifyType)
{
case TERMINATE:
// TODO: this process should terminate
// cleanup the environment
Cleanup(); // does not return
case NT_HOST_UP:
// TODO: react to a Windows host that has come back
break;
case NT_BLUESCREEN:
// TODO: react to a Windows blue screen
break;
case KERNEL_STOPPING:
// TODO: react to the INtime kernel stopping
break;
case NT_HOST_HIBERNATE:
// TODO: react to the Windows host going in hibernation
break;
case NT_HOST_STANDBY:
// TODO: react to the Windows host going in standby mode
break;
case NT_HOST_SHUTDOWN_PENDING:
// TODO: react to a Windows host that is about to shutdown
break;
}
}
Fail("Notify failed");
return 0;
}

47
IDE/INTIME-RTOS/wolfExamples.h Executable file
View File

@ -0,0 +1,47 @@
#ifndef _WOLFEXAMPLES_H_
#define _WOLFEXAMPLES_H_
#include <rt.h>
#ifdef __cplusplus
extern "C" {
#endif
// support functions for all threads
BOOLEAN Catalog(RTHANDLE hProcess, RTHANDLE hObject, LPSTR lpszName);
void Cleanup(void);
void Fail(LPSTR lpszMessage, ...);
DWORD UsecsToKticks(DWORD dwUsecs);
/* Example API's */
int wolfExample_TLSServer(int port);
int wolfExample_TLSClient(const char* ip, int port);
int wolfExample_TLSLocal(int port);
// global type definitions
typedef enum {
BEFORE_INIT,
INIT_BUSY,
INIT_DONE,
CLEANUP_BUSY
} INIT_STATE;
typedef struct {
RTHANDLE hMain; // RTHANDLE of main thread
INIT_STATE state; // main thread state
BOOLEAN bCataloged; // TRUE if we cataloged process name in root
BOOLEAN bShutdown; // TRUE if all threads have to terminate
} INIT_STRUCT;
// global variables
extern RTHANDLE hRootProcess; // RTHANDLE of root process
extern DWORD dwKtickInUsecs; // length of one low level tick in usecs
extern INIT_STRUCT gInit; // structure describing all global objects
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _WOLFEXAMPLES_H_ */

View File

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfExamples", "wolfExamples.vcxproj", "{557A7EFD-2627-478A-A855-50F518DD13EE}"
ProjectSection(ProjectDependencies) = postProject
{1731767D-573F-45C9-A466-191DA0D180CF} = {1731767D-573F-45C9-A466-191DA0D180CF}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwolfssl", "libwolfssl.vcxproj", "{1731767D-573F-45C9-A466-191DA0D180CF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|INtime = Debug|INtime
Release|INtime = Release|INtime
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{557A7EFD-2627-478A-A855-50F518DD13EE}.Debug|INtime.ActiveCfg = Debug|INtime
{557A7EFD-2627-478A-A855-50F518DD13EE}.Debug|INtime.Build.0 = Debug|INtime
{557A7EFD-2627-478A-A855-50F518DD13EE}.Release|INtime.ActiveCfg = Release|INtime
{557A7EFD-2627-478A-A855-50F518DD13EE}.Release|INtime.Build.0 = Release|INtime
{1731767D-573F-45C9-A466-191DA0D180CF}.Debug|INtime.ActiveCfg = Debug|INtime
{1731767D-573F-45C9-A466-191DA0D180CF}.Debug|INtime.Build.0 = Debug|INtime
{1731767D-573F-45C9-A466-191DA0D180CF}.Release|INtime.ActiveCfg = Release|INtime
{1731767D-573F-45C9-A466-191DA0D180CF}.Release|INtime.Build.0 = Release|INtime
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,100 @@
<?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;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
<XMLDocumentationFileName>$(IntDir)</XMLDocumentationFileName>
</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>
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
<ObjectFileName>$(IntDir)</ObjectFileName>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
<XMLDocumentationFileName>$(IntDir)</XMLDocumentationFileName>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

32
IDE/LPCXPRESSO/README.md Normal file
View File

@ -0,0 +1,32 @@
# WolfSSL Example using the OM13076 (LPCXpresso18S37) board
To use, install the NXP LPCXpresso IDE and import the projects in a new workspace.
1. Run LPCXpresso and choose a workspace location.
2. Right click in the project exporer window and choose Inport.
3. Under General choose "Existing Projects into Workspace".
4. Under "Select root directory" click browse and select the wolfSSL root.
5. Check the "Search for nested projects" box.
5. Make sure "wolfssl" and "wolfssl_example" are checked under "Projects:".
6. Click finish.
7. Download the board and chip LPCOpen package for your platform.
8. Import the projects. For example "lpc_board_nxp_lpcxpresso_1837" and "lpc_chip_18xx" are the ones for the LPC18S37.
To setup this example to work with different baords/chips you will need to locate the LPCOpen sources for LPCXpresso on the NXP website and import the board and chip projects. Then you will need to update the "wolfssl_example" project properties to reference these projects (C/C++ General -> Paths and Symbols -> References). See the [LPCOpen v2.xx LPCXpresso quickstart guide for all platforms](https://www.lpcware.com/content/project/lpcopen-platform-nxp-lpc-microcontrollers/lpcopen-v200-quickstart-guides/lpcopen-1) for additional information.
## WolfSSL example projects:
1. `wolf_example`. It has console options to run the Wolf tests and benchmarks ('t' for the WolfSSL Tests and 'b' for the WolfSSL Benchmarks).
## Static libraries projects:
1. `wolfssl` for WolfSSL. The WolfSSL port for the LPC18XX platform is located in `IDE/LPCXPRESSO/lpc_18xx_port.c`. This has platform specific functions for `current_time` and `rand_gen`. The `WOLF_USER_SETTINGS` define is set which allows all WolfSSL settings to exist in the `user_settings.h` file (see this file for all customizations used).
## Important Files
1. `IDE/LPCXPRESSO/user_settings.h`. This provides a reference for library settings used to optimize for this embedded platform.
2. `IDE/LPCXPRESSO/lpc_18xx_port.c`. This defines the required time and random number functions for the WolfSSL library.
3. `IDE/LPCXPRESSO/wolf_example/wolf_example.c`. This shows use of the WolfSSL tests and benchmarks.

View File

@ -0,0 +1,109 @@
/* lpc_18xx_port.c
*
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include "board.h"
#include "otp_18xx_43xx.h" /* For RNG */
#include "timer_18xx_43xx.h"
static uint32_t mTimeInit = 0;
#define TIMER_SCALER 1000000
static void init_time(void)
{
if(mTimeInit == 0) {
uint32_t timerFreq;
/* Set current time for RTC 2:00:00PM, 2012-10-05 */
RTC_TIME_T FullTime;
Chip_RTC_Init(LPC_RTC);
FullTime.time[RTC_TIMETYPE_SECOND] = 0;
FullTime.time[RTC_TIMETYPE_MINUTE] = 0;
FullTime.time[RTC_TIMETYPE_HOUR] = 14;
FullTime.time[RTC_TIMETYPE_DAYOFMONTH] = 5;
FullTime.time[RTC_TIMETYPE_DAYOFWEEK] = 5;
FullTime.time[RTC_TIMETYPE_DAYOFYEAR] = 279;
FullTime.time[RTC_TIMETYPE_MONTH] = 10;
FullTime.time[RTC_TIMETYPE_YEAR] = 2012;
Chip_RTC_SetFullTime(LPC_RTC, &FullTime);
/* Enable RTC (starts increase the tick counter and second counter register) */
Chip_RTC_Enable(LPC_RTC, ENABLE);
/* Enable timer 1 clock and reset it */
Chip_TIMER_Init(LPC_TIMER2);
Chip_RGU_TriggerReset(RGU_TIMER2_RST);
while (Chip_RGU_InReset(RGU_TIMER2_RST)) {}
/* Get timer peripheral clock rate */
timerFreq = Chip_Clock_GetRate(CLK_MX_TIMER2);
/* Timer setup */
Chip_TIMER_Reset(LPC_TIMER2);
Chip_TIMER_PrescaleSet(LPC_TIMER2, timerFreq/TIMER_SCALER);
Chip_TIMER_Enable(LPC_TIMER2);
mTimeInit = 1;
}
}
double current_time()
{
//RTC_TIME_T FullTime;
uint32_t timerMs;
init_time();
timerMs = Chip_TIMER_ReadCount(LPC_TIMER2);
//Chip_RTC_GetFullTime(LPC_RTC, &FullTime);
//(double)FullTime.time[RTC_TIMETYPE_SECOND]
return (double)timerMs/TIMER_SCALER;
}
/* Memory location of the generated random numbers (for total of 128 bits) */
static volatile uint32_t* mRandData = (uint32_t*)0x40045050;
static uint32_t mRandInit = 0;
static uint32_t mRandIndex = 0;
uint32_t rand_gen(void)
{
uint32_t rand = 0;
uint32_t status = LPC_OK;
if(mRandIndex == 0) {
if(mRandInit == 0) {
Chip_OTP_Init();
mRandInit = 1;
}
status = Chip_OTP_GenRand();
}
if(status == LPC_OK) {
rand = mRandData[mRandIndex];
}
else {
printf("GenRand Failed 0x%x\n", status);
}
if(++mRandIndex > 4) {
mRandIndex = 0;
}
return rand;
}

View File

@ -0,0 +1,81 @@
#include <stdint.h>
/* Configuration */
#define WOLFSSL_USER_IO
#define WOLFSSL_GENERAL_ALIGNMENT 4
#define WOLFSSL_SMALL_STACK
#define WOLFSSL_BASE64_ENCODE
#define WOLFSSL_SHA512
#define HAVE_ECC
#define HAVE_AESGCM
#define HAVE_CURVE25519
#define HAVE_HKDF
#define HAVE_HASHDRBG
#define HAVE_CHACHA
#define HAVE_POLY1305
#define HAVE_ONE_TIME_AUTH
#define HAVE_TLS_EXTENSIONS
#define HAVE_SUPPORTED_CURVES
#define HAVE_ERRNO_H
#define HAVE_LWIP_NATIVE
#define FP_LUT 4
#define FP_MAX_BITS 2048 /* 4096 */
#define FP_MAX_BITS_ECC 512
#define ALT_ECC_SIZE
#define USE_FAST_MATH
#define SMALL_SESSION_CACHE
#define CURVED25519_SMALL
#define RSA_LOW_MEM
#define GCM_SMALL
#define ECC_SHAMIR
#define USE_SLOW_SHA2
#define MP_LOW_MEM
#define TFM_TIMING_RESISTANT
//#define TFM_ARM
/* Remove Features */
#define NO_DEV_RANDOM
#define NO_FILESYSTEM
#define NO_WRITEV
#define NO_MAIN_DRIVER
#define NO_WOLFSSL_MEMORY
#define NO_DEV_RANDOM
#define NO_MD4
#define NO_RABBIT
#define NO_HC128
#define NO_DSA
#define NO_PWDBASED
#define NO_PSK
#define NO_64BIT
#define NO_WOLFSSL_SERVER
#define NO_OLD_TLS
#define ECC_USER_CURVES /* Disables P-112, P-128, P-160, P-192, P-224, P-384, P-521 but leaves P-256 enabled */
#define NO_DES3
#define NO_MD5
#define NO_RC4
#define NO_DH
#define NO_SHA
/* Benchmark / Testing */
#define BENCH_EMBEDDED
#define USE_CERT_BUFFERS_1024
/* Custom functions */
extern uint32_t rand_gen(void);
#define CUSTOM_RAND_GENERATE rand_gen
#define CUSTOM_RAND_TYPE uint32_t
extern double current_time(int reset);
#define WOLFSSL_USER_CURRTIME
/* Debugging - Optional */
#if 0
#define fprintf(file, format, ...) printf(format, ##__VA_ARGS__)
#define DEBUG_WOLFSSL
#endif

View File

@ -0,0 +1,314 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.crt.advproject.config.exe.debug.1392194113">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.config.exe.debug.1392194113" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="axf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="Debug build" errorParsers="org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.config.exe.debug.1392194113" name="Debug" parent="com.crt.advproject.config.exe.debug" postannouncebuildStep="Performing post-build steps" postbuildStep="arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;; # arm-none-eabi-objcopy -v -O binary &quot;${BuildArtifactFileName}&quot; &quot;${BuildArtifactFileBaseName}.bin&quot; ; # checksum -p ${TargetChip} -d &quot;${BuildArtifactFileBaseName}.bin&quot;; ">
<folderInfo id="com.crt.advproject.config.exe.debug.1392194113." name="/" resourcePath="">
<toolChain id="com.crt.advproject.toolchain.exe.debug.269547500" name="Code Red MCU Tools" superClass="com.crt.advproject.toolchain.exe.debug">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.exe.debug.178620013" name="ARM-based MCU (Debug)" superClass="com.crt.advproject.platform.exe.debug"/>
<builder buildPath="${workspace_loc:/periph_aes}/Debug" id="com.crt.advproject.builder.exe.debug.1103441586" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.crt.advproject.builder.exe.debug"/>
<tool id="com.crt.advproject.cpp.exe.debug.1779678200" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.exe.debug"/>
<tool id="com.crt.advproject.gcc.exe.debug.66420591" name="MCU C Compiler" superClass="com.crt.advproject.gcc.exe.debug">
<option id="com.crt.advproject.gcc.arch.1636223398" name="Architecture" superClass="com.crt.advproject.gcc.arch" value="com.crt.advproject.gcc.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gcc.thumb.22102082" name="Thumb mode" superClass="com.crt.advproject.gcc.thumb" value="true" valueType="boolean"/>
<option id="gnu.c.compiler.option.preprocessor.def.symbols.100262489" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="__CODE_RED"/>
<listOptionValue builtIn="false" value="__USE_LPCOPEN"/>
<listOptionValue builtIn="false" value="__REDLIB__"/>
<listOptionValue builtIn="false" value="CORE_M3"/>
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<option id="gnu.c.compiler.option.misc.other.1584633080" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>
<option id="com.crt.advproject.gcc.hdrlib.1349463484" name="Library headers" superClass="com.crt.advproject.gcc.hdrlib" value="Redlib" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.1496746959" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl/IDE/LPCXPRESSO/lib_wolfssl}&quot;"/>
</option>
<inputType id="com.crt.advproject.compiler.input.1034801598" superClass="com.crt.advproject.compiler.input"/>
</tool>
<tool id="com.crt.advproject.gas.exe.debug.81526022" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.debug">
<option id="com.crt.advproject.gas.arch.1700683015" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gas.thumb.1440788533" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/>
<option id="gnu.both.asm.option.flags.crt.1089029715" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -DDEBUG -D__CODE_RED -D__REDLIB__" valueType="string"/>
<option id="com.crt.advproject.gas.hdrlib.245714003" name="Library headers" superClass="com.crt.advproject.gas.hdrlib" value="Redlib" valueType="enumerated"/>
<option id="gnu.both.asm.option.include.paths.10041507" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl/IDE/LPCXPRESSO/lib_wolfssl}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.490789676" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
<inputType id="com.crt.advproject.assembler.input.381304950" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
</tool>
<tool id="com.crt.advproject.link.cpp.exe.debug.269159921" name="MCU C++ Linker" superClass="com.crt.advproject.link.cpp.exe.debug"/>
<tool id="com.crt.advproject.link.exe.debug.1027515786" name="MCU Linker" superClass="com.crt.advproject.link.exe.debug">
<option id="com.crt.advproject.link.gcc.multicore.master.userobjs.347382571" name="Slave Objects (not visible)" superClass="com.crt.advproject.link.gcc.multicore.master.userobjs" valueType="userObjs"/>
<option id="com.crt.advproject.link.arch.1009411462" name="Architecture" superClass="com.crt.advproject.link.arch" value="com.crt.advproject.link.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.link.thumb.546852255" name="Thumb mode" superClass="com.crt.advproject.link.thumb" value="true" valueType="boolean"/>
<option id="com.crt.advproject.link.script.2057008305" name="Linker script" superClass="com.crt.advproject.link.script" value="&quot;wolf_example_Debug.ld&quot;" valueType="string"/>
<option id="com.crt.advproject.link.manage.429568983" name="Manage linker script" superClass="com.crt.advproject.link.manage" value="true" valueType="boolean"/>
<option id="gnu.c.link.option.nostdlibs.472954815" name="No startup or default libs (-nostdlib)" superClass="gnu.c.link.option.nostdlibs" value="true" valueType="boolean"/>
<option id="gnu.c.link.option.other.1883049936" name="Other options (-Xlinker [option])" superClass="gnu.c.link.option.other" valueType="stringList">
<listOptionValue builtIn="false" value="-Map=&quot;${BuildArtifactFileBaseName}.map&quot;"/>
<listOptionValue builtIn="false" value="--gc-sections"/>
</option>
<option id="com.crt.advproject.link.gcc.hdrlib.2083914317" name="Library" superClass="com.crt.advproject.link.gcc.hdrlib" value="com.crt.advproject.gcc.link.hdrlib.codered.nohost" valueType="enumerated"/>
<option id="gnu.c.link.option.libs.1062640389" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
<listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="wolfssl"/>
<listOptionValue builtIn="false" value="lpc_board_nxp_lpcxpresso_1837"/>
<listOptionValue builtIn="false" value="lpc_chip_18xx"/>
</option>
<option id="gnu.c.link.option.paths.1267290263" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/wolfssl/Debug}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx/Debug}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837/Debug}&quot;"/>
</option>
<option id="com.crt.advproject.link.gcc.multicore.slave.1774732693" name="Multicore configuration" superClass="com.crt.advproject.link.gcc.multicore.slave"/>
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.214986153" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings">
<externalSettings containerId="lpc_board_nxp_lpcxpresso_1837;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/lpc_board_nxp_lpcxpresso_1837"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/lpc_board_nxp_lpcxpresso_1837/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="lpc_board_nxp_lpcxpresso_1837" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<externalSettings containerId="lpc_chip_18xx;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/lpc_chip_18xx"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/lpc_chip_18xx/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="lpc_chip_18xx" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<externalSettings containerId="wolfssl;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/lib_wolfssl"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolfssl"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/lib_wolfssl/Debug"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolfssl/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="lib_wolfssl" srcPrefixMapping="" srcRootPath=""/>
<entry flags="RESOLVED" kind="libraryFile" name="wolfssl" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
</storageModule>
</cconfiguration>
<cconfiguration id="com.crt.advproject.config.exe.release.1867143408">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.config.exe.release.1867143408" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="axf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="Release build" errorParsers="org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.config.exe.release.1867143408" name="Release" parent="com.crt.advproject.config.exe.release" postannouncebuildStep="Performing post-build steps" postbuildStep="arm-none-eabi-size &quot;${BuildArtifactFileName}&quot;; # arm-none-eabi-objcopy -v -O binary &quot;${BuildArtifactFileName}&quot; &quot;${BuildArtifactFileBaseName}.bin&quot; ; # checksum -p ${TargetChip} -d &quot;${BuildArtifactFileBaseName}.bin&quot;; ">
<folderInfo id="com.crt.advproject.config.exe.release.1867143408." name="/" resourcePath="">
<toolChain id="com.crt.advproject.toolchain.exe.release.536172938" name="Code Red MCU Tools" superClass="com.crt.advproject.toolchain.exe.release">
<targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.exe.release.1036462619" name="ARM-based MCU (Release)" superClass="com.crt.advproject.platform.exe.release"/>
<builder buildPath="${workspace_loc:/periph_aes}/Release" id="com.crt.advproject.builder.exe.release.56266263" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.crt.advproject.builder.exe.release"/>
<tool id="com.crt.advproject.cpp.exe.release.41154765" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.exe.release"/>
<tool id="com.crt.advproject.gcc.exe.release.1544905822" name="MCU C Compiler" superClass="com.crt.advproject.gcc.exe.release">
<option id="com.crt.advproject.gcc.arch.719158708" name="Architecture" superClass="com.crt.advproject.gcc.arch" value="com.crt.advproject.gcc.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gcc.thumb.155945396" name="Thumb mode" superClass="com.crt.advproject.gcc.thumb" value="true" valueType="boolean"/>
<option id="gnu.c.compiler.option.preprocessor.def.symbols.418999860" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
<listOptionValue builtIn="false" value="NDEBUG"/>
<listOptionValue builtIn="false" value="__CODE_RED"/>
<listOptionValue builtIn="false" value="__USE_LPCOPEN"/>
<listOptionValue builtIn="false" value="__REDLIB__"/>
<listOptionValue builtIn="false" value="CORE_M3"/>
</option>
<option id="gnu.c.compiler.option.misc.other.272000735" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections" valueType="string"/>
<option id="com.crt.advproject.gcc.hdrlib.25535373" name="Library headers" superClass="com.crt.advproject.gcc.hdrlib" value="Redlib" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.226349045" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}_aes/wolfssl}&quot;"/>
</option>
<inputType id="com.crt.advproject.compiler.input.1744383012" superClass="com.crt.advproject.compiler.input"/>
</tool>
<tool id="com.crt.advproject.gas.exe.release.1699519623" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.release">
<option id="com.crt.advproject.gas.arch.1123396472" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.gas.thumb.2100866524" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/>
<option id="gnu.both.asm.option.flags.crt.1806449413" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -DNDEBUG -D__CODE_RED -D__REDLIB__" valueType="string"/>
<option id="com.crt.advproject.gas.hdrlib.1996275203" name="Library headers" superClass="com.crt.advproject.gas.hdrlib" value="Redlib" valueType="enumerated"/>
<option id="gnu.both.asm.option.include.paths.960906264" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}_aes/wolfssl}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.338022624" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
<inputType id="com.crt.advproject.assembler.input.4154826" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
</tool>
<tool id="com.crt.advproject.link.cpp.exe.release.1471941871" name="MCU C++ Linker" superClass="com.crt.advproject.link.cpp.exe.release"/>
<tool id="com.crt.advproject.link.exe.release.1371066567" name="MCU Linker" superClass="com.crt.advproject.link.exe.release">
<option id="com.crt.advproject.link.gcc.multicore.master.userobjs.577629279" name="Slave Objects (not visible)" superClass="com.crt.advproject.link.gcc.multicore.master.userobjs" valueType="userObjs"/>
<option id="com.crt.advproject.link.arch.248852868" name="Architecture" superClass="com.crt.advproject.link.arch" value="com.crt.advproject.link.target.cm3" valueType="enumerated"/>
<option id="com.crt.advproject.link.thumb.2023190156" name="Thumb mode" superClass="com.crt.advproject.link.thumb" value="true" valueType="boolean"/>
<option id="com.crt.advproject.link.script.829888725" name="Linker script" superClass="com.crt.advproject.link.script" value="&quot;wolf_example_Release.ld&quot;" valueType="string"/>
<option id="com.crt.advproject.link.manage.1603413806" name="Manage linker script" superClass="com.crt.advproject.link.manage" value="true" valueType="boolean"/>
<option id="gnu.c.link.option.nostdlibs.1533889102" name="No startup or default libs (-nostdlib)" superClass="gnu.c.link.option.nostdlibs" value="true" valueType="boolean"/>
<option id="gnu.c.link.option.other.1538644196" name="Other options (-Xlinker [option])" superClass="gnu.c.link.option.other" valueType="stringList">
<listOptionValue builtIn="false" value="-Map=&quot;${BuildArtifactFileBaseName}.map&quot;"/>
<listOptionValue builtIn="false" value="--gc-sections"/>
</option>
<option id="com.crt.advproject.link.gcc.hdrlib.1171310191" name="Library" superClass="com.crt.advproject.link.gcc.hdrlib" value="com.crt.advproject.gcc.link.hdrlib.codered.nohost" valueType="enumerated"/>
<option id="gnu.c.link.option.libs.499818807" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
<listOptionValue builtIn="false" value="lpc_board_nxp_lpcxpresso_1837"/>
<listOptionValue builtIn="false" value="lpc_chip_18xx"/>
</option>
<option id="gnu.c.link.option.paths.78373300" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_chip_18xx/Release}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/lpc_board_nxp_lpcxpresso_1837/Release}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.217525865" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="example"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="periph_aes.com.crt.advproject.projecttype.exe.432786573" name="Executable" projectType="com.crt.advproject.projecttype.exe"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="com.crt.config">
<projectStorage>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;TargetConfig&gt;
&lt;Properties property_0="" property_2="LPC18x7_43x7_2x512_BootA.cfx" property_3="NXP" property_4="LPC1837" property_count="5" version="70200"/&gt;
&lt;infoList vendor="NXP"&gt;&lt;info chip="LPC1837" flash_driver="LPC18x7_43x7_2x512_BootA.cfx" match_id="0x0" name="LPC1837" resetscript="LPC18LPC43InternalFLASHBootResetscript.scp" stub="crt_emu_lpc18_43_nxp"&gt;&lt;chip&gt;&lt;name&gt;LPC1837&lt;/name&gt;
&lt;family&gt;LPC18xx&lt;/family&gt;
&lt;vendor&gt;NXP (formerly Philips)&lt;/vendor&gt;
&lt;reset board="None" core="Real" sys="Real"/&gt;
&lt;clock changeable="TRUE" freq="20MHz" is_accurate="TRUE"/&gt;
&lt;memory can_program="true" id="Flash" is_ro="true" type="Flash"/&gt;
&lt;memory id="RAM" type="RAM"/&gt;
&lt;memory id="Periph" is_volatile="true" type="Peripheral"/&gt;
&lt;memoryInstance derived_from="Flash" id="MFlashA512" location="0x1a000000" size="0x80000"/&gt;
&lt;memoryInstance derived_from="Flash" id="MFlashB512" location="0x1b000000" size="0x80000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamLoc32" location="0x10000000" size="0x8000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamLoc40" location="0x10080000" size="0xa000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamAHB32" location="0x20000000" size="0x8000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamAHB16" location="0x20008000" size="0x4000"/&gt;
&lt;memoryInstance derived_from="RAM" id="RamAHB_ETB16" location="0x2000c000" size="0x4000"/&gt;
&lt;prog_flash blocksz="0x2000" location="0x1a000000" maxprgbuff="0x400" progwithcode="TRUE" size="0x10000"/&gt;
&lt;prog_flash blocksz="0x10000" location="0x1a010000" maxprgbuff="0x400" progwithcode="TRUE" size="0x70000"/&gt;
&lt;prog_flash blocksz="0x2000" location="0x1b000000" maxprgbuff="0x400" progwithcode="TRUE" size="0x10000"/&gt;
&lt;prog_flash blocksz="0x10000" location="0x1b010000" maxprgbuff="0x400" progwithcode="TRUE" size="0x70000"/&gt;
&lt;peripheralInstance derived_from="V7M_MPU" determined="infoFile" id="MPU" location="0xe000ed90"/&gt;
&lt;peripheralInstance derived_from="V7M_NVIC" determined="infoFile" id="NVIC" location="0xe000e000"/&gt;
&lt;peripheralInstance derived_from="V7M_DCR" determined="infoFile" id="DCR" location="0xe000edf0"/&gt;
&lt;peripheralInstance derived_from="V7M_ITM" determined="infoFile" id="ITM" location="0xe0000000"/&gt;
&lt;peripheralInstance derived_from="SCT" determined="infoFile" id="SCT" location="0x40000000"/&gt;
&lt;peripheralInstance derived_from="GPDMA" determined="infoFile" id="GPDMA" location="0x40002000"/&gt;
&lt;peripheralInstance derived_from="SPIFI" determined="infoFile" id="SPIFI" location="0x40003000"/&gt;
&lt;peripheralInstance derived_from="SDMMC" determined="infoFile" id="SDMMC" location="0x40004000"/&gt;
&lt;peripheralInstance derived_from="EMC" determined="infoFile" id="EMC" location="0x40005000"/&gt;
&lt;peripheralInstance derived_from="USB0" determined="infoFile" id="USB0" location="0x40006000"/&gt;
&lt;peripheralInstance derived_from="USB1" determined="infoFile" id="USB1" location="0x40007000"/&gt;
&lt;peripheralInstance derived_from="EEPROM" determined="infoFile" id="EEPROM" location="0x4000e000"/&gt;
&lt;peripheralInstance derived_from="ETHERNET" determined="infoFile" id="ETHERNET" location="0x40010000"/&gt;
&lt;peripheralInstance derived_from="ATIMER" determined="infoFile" id="ATIMER" location="0x40040000"/&gt;
&lt;peripheralInstance derived_from="REGFILE" determined="infoFile" id="REGFILE" location="0x40041000"/&gt;
&lt;peripheralInstance derived_from="PMC" determined="infoFile" id="PMC" location="0x40042000"/&gt;
&lt;peripheralInstance derived_from="CREG" determined="infoFile" id="CREG" location="0x40043000"/&gt;
&lt;peripheralInstance derived_from="EVENTROUTER" determined="infoFile" id="EVENTROUTER" location="0x40044000"/&gt;
&lt;peripheralInstance derived_from="RTC" determined="infoFile" id="RTC" location="0x40046000"/&gt;
&lt;peripheralInstance derived_from="CGU" determined="infoFile" id="CGU" location="0x40050000"/&gt;
&lt;peripheralInstance derived_from="CCU1" determined="infoFile" id="CCU1" location="0x40051000"/&gt;
&lt;peripheralInstance derived_from="CCU2" determined="infoFile" id="CCU2" location="0x40052000"/&gt;
&lt;peripheralInstance derived_from="RGU" determined="infoFile" id="RGU" location="0x40053000"/&gt;
&lt;peripheralInstance derived_from="WWDT" determined="infoFile" id="WWDT" location="0x40080000"/&gt;
&lt;peripheralInstance derived_from="USART0" determined="infoFile" id="USART0" location="0x40081000"/&gt;
&lt;peripheralInstance derived_from="USART2" determined="infoFile" id="USART2" location="0x400c1000"/&gt;
&lt;peripheralInstance derived_from="USART3" determined="infoFile" id="USART3" location="0x400c2000"/&gt;
&lt;peripheralInstance derived_from="UART1" determined="infoFile" id="UART1" location="0x40082000"/&gt;
&lt;peripheralInstance derived_from="SSP0" determined="infoFile" id="SSP0" location="0x40083000"/&gt;
&lt;peripheralInstance derived_from="SSP1" determined="infoFile" id="SSP1" location="0x400c5000"/&gt;
&lt;peripheralInstance derived_from="TIMER0" determined="infoFile" id="TIMER0" location="0x40084000"/&gt;
&lt;peripheralInstance derived_from="TIMER1" determined="infoFile" id="TIMER1" location="0x40085000"/&gt;
&lt;peripheralInstance derived_from="TIMER2" determined="infoFile" id="TIMER2" location="0x400c3000"/&gt;
&lt;peripheralInstance derived_from="TIMER3" determined="infoFile" id="TIMER3" location="0x400c4000"/&gt;
&lt;peripheralInstance derived_from="SCU" determined="infoFile" id="SCU" location="0x40086000"/&gt;
&lt;peripheralInstance derived_from="GPIO-PIN-INT" determined="infoFile" id="GPIO-PIN-INT" location="0x40087000"/&gt;
&lt;peripheralInstance derived_from="GPIO-GROUP-INT0" determined="infoFile" id="GPIO-GROUP-INT0" location="0x40088000"/&gt;
&lt;peripheralInstance derived_from="GPIO-GROUP-INT1" determined="infoFile" id="GPIO-GROUP-INT1" location="0x40089000"/&gt;
&lt;peripheralInstance derived_from="MCPWM" determined="infoFile" id="MCPWM" location="0x400a0000"/&gt;
&lt;peripheralInstance derived_from="I2C0" determined="infoFile" id="I2C0" location="0x400a1000"/&gt;
&lt;peripheralInstance derived_from="I2C1" determined="infoFile" id="I2C1" location="0x400e0000"/&gt;
&lt;peripheralInstance derived_from="I2S0" determined="infoFile" id="I2S0" location="0x400a2000"/&gt;
&lt;peripheralInstance derived_from="I2S1" determined="infoFile" id="I2S1" location="0x400a3000"/&gt;
&lt;peripheralInstance derived_from="C-CAN1" determined="infoFile" id="C-CAN1" location="0x400a4000"/&gt;
&lt;peripheralInstance derived_from="RITIMER" determined="infoFile" id="RITIMER" location="0x400c0000"/&gt;
&lt;peripheralInstance derived_from="QEI" determined="infoFile" id="QEI" location="0x400c6000"/&gt;
&lt;peripheralInstance derived_from="GIMA" determined="infoFile" id="GIMA" location="0x400c7000"/&gt;
&lt;peripheralInstance derived_from="DAC" determined="infoFile" id="DAC" location="0x400e1000"/&gt;
&lt;peripheralInstance derived_from="C-CAN0" determined="infoFile" id="C-CAN0" location="0x400e2000"/&gt;
&lt;peripheralInstance derived_from="ADC0" determined="infoFile" id="ADC0" location="0x400e3000"/&gt;
&lt;peripheralInstance derived_from="ADC1" determined="infoFile" id="ADC1" location="0x400e4000"/&gt;
&lt;peripheralInstance derived_from="GPIO-PORT" determined="infoFile" id="GPIO-PORT" location="0x400f4000"/&gt;
&lt;/chip&gt;
&lt;processor&gt;&lt;name gcc_name="cortex-m3"&gt;Cortex-M3&lt;/name&gt;
&lt;family&gt;Cortex-M&lt;/family&gt;
&lt;/processor&gt;
&lt;link href="nxp_lpc18xx_peripheral.xme" show="embed" type="simple"/&gt;
&lt;/info&gt;
&lt;/infoList&gt;
&lt;/TargetConfig&gt;</projectStorage>
</storageModule>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.1392194113;com.crt.advproject.config.exe.debug.1392194113.;com.crt.advproject.gas.exe.debug.81526022;com.crt.advproject.assembler.input.381304950">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.release.1867143408;com.crt.advproject.config.exe.release.1867143408.;com.crt.advproject.gcc.exe.release.1544905822;com.crt.advproject.compiler.input.1744383012">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.1392194113;com.crt.advproject.config.exe.debug.1392194113.;com.crt.advproject.gcc.exe.debug.66420591;com.crt.advproject.compiler.input.1034801598">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.release.1867143408;com.crt.advproject.config.exe.release.1867143408.;com.crt.advproject.gas.exe.release.1699519623;com.crt.advproject.assembler.input.4154826">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>
</scannerConfigBuildInfo>
</storageModule>
</cproject>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolf_example</name>
<comment></comment>
<projects>
<project>lpc_chip_18xx</project>
<project>lpc_board_nxp_lpcxpresso_1837</project>
<project>wolfssl</project>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,7 @@
wolfSSL example
Target board LPC43S37 Xpresso board
The board communicates to the PC terminal through UART0 at 115200.
This example builds the wolfSSL library, test and benchmark examples.
Use 't' to launch the WolfSSL Test
Use 'b' to launch the WolfSSL Benchmark

View File

@ -0,0 +1,353 @@
/* lpc_18xx_startup.c
*
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* wolfSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#include "board.h"
#include <stdint.h>
#include <stdio.h>
/* Top of stack location */
extern void _vStackTop(void);
/* Memory locations */
extern unsigned int __data_section_table;
extern unsigned int __data_section_table_end;
extern unsigned int __bss_section_table;
extern unsigned int __bss_section_table_end;
/* Copy memory: src=Source, dst_beg=Destination Begin, dst_end=Destination End */
__attribute__ ((section(".after_vectors")))
void memcpy32(uint32_t* src, uint32_t* dst_beg, uint32_t len)
{
unsigned int i;
for (i = 0; i < len; i += sizeof(uint32_t)) {
*dst_beg++ = *src++;
}
}
/* Zero address in range */
__attribute__ ((section(".after_vectors")))
void meminit32(uint32_t* start, uint32_t len)
{
unsigned int i;
for (i = 0; i < len; i += sizeof(uint32_t)) {
*start++ = 0;
}
}
/* Reset Entry Point */
void ResetISR(void)
{
unsigned int irqPendLoop;
unsigned int *SectionTableAddr;
unsigned int LoadAddr, ExeAddr, SectionLen;
unsigned int *RESET_CONTROL = (unsigned int *) 0x40053100;
volatile unsigned int *NVIC_ICPR = (unsigned int *) 0xE000E280;
/* Chip cleanup/reset */
__asm volatile ("cpsid i"); /* Disable interrupts */
/* Write to LPC_RGU->RESET_CTRL0 */
*(RESET_CONTROL+0) = 0x10DF0000;
/* GPIO_RST|AES_RST|ETHERNET_RST|SDIO_RST|DMA_RST|
* USB1_RST|USB0_RST|LCD_RST */
/* Write to LPC_RGU->RESET_CTRL1 */
*(RESET_CONTROL+1) = 0x00DFF7FF;
/* CAN0_RST|CAN1_RST|I2S_RST|SSP1_RST|SSP0_RST|
* I2C1_RST|I2C0_RST|UART3_RST|UART1_RST|UART1_RST|UART0_RST|
* DAC_RST|ADC1_RST|ADC0_RST|QEI_RST|MOTOCONPWM_RST|SCT_RST|
* RITIMER_RST|TIMER3_RST|TIMER2_RST|TIMER1_RST|TIMER0_RST */
/* Clear all pending interrupts in the NVIC */
for (irqPendLoop = 0; irqPendLoop < 8; irqPendLoop++) {
*(NVIC_ICPR + irqPendLoop) = 0xFFFFFFFF;
}
__asm volatile ("cpsie i"); /* Re-enable interrupts */
/* Init sections */
SectionTableAddr = &__data_section_table;
/* Copy the data sections from flash to SRAM */
while (SectionTableAddr < &__data_section_table_end) {
LoadAddr = *SectionTableAddr++;
ExeAddr = *SectionTableAddr++;
SectionLen = *SectionTableAddr++;
memcpy32((uint32_t*)LoadAddr, (uint32_t*)ExeAddr, SectionLen);
}
/* Zero fill the bss segment */
while (SectionTableAddr < &__bss_section_table_end) {
ExeAddr = *SectionTableAddr++;
SectionLen = *SectionTableAddr++;
meminit32((uint32_t*)ExeAddr, SectionLen);
}
#if defined(__FPU_PRESENT) && __FPU_PRESENT == 1
fpuInit();
#endif
/* Board specific SystemInit */
Board_SystemInit();
/* Start main */
#if defined (__REDLIB__)
/* Call the Redlib library, which in turn calls main() */
extern void __main(void);
__main() ;
#else
extern void main(void);
main();
#endif
/* Application has ended, so busy wait */
while(1) {};
}
/* Vector Exception/Interrupt Handlers */
__attribute__ ((section(".after_vectors")))
static void Default_Handler(void)
{
/* Loop forever */
while(1);
}
void HardFault_HandlerC( uint32_t *hardfault_args )
{
/* These are volatile to try and prevent the compiler/linker optimizing them
away as the variables never actually get used. If the debugger won't show the
values of the variables, make them global my moving their declaration outside
of this function. */
volatile uint32_t stacked_r0;
volatile uint32_t stacked_r1;
volatile uint32_t stacked_r2;
volatile uint32_t stacked_r3;
volatile uint32_t stacked_r12;
volatile uint32_t stacked_lr;
volatile uint32_t stacked_pc;
volatile uint32_t stacked_psr;
volatile uint32_t _CFSR;
volatile uint32_t _HFSR;
volatile uint32_t _DFSR;
volatile uint32_t _AFSR;
volatile uint32_t _BFAR;
volatile uint32_t _MMAR;
stacked_r0 = ((uint32_t)hardfault_args[0]);
stacked_r1 = ((uint32_t)hardfault_args[1]);
stacked_r2 = ((uint32_t)hardfault_args[2]);
stacked_r3 = ((uint32_t)hardfault_args[3]);
stacked_r12 = ((uint32_t)hardfault_args[4]);
stacked_lr = ((uint32_t)hardfault_args[5]);
stacked_pc = ((uint32_t)hardfault_args[6]);
stacked_psr = ((uint32_t)hardfault_args[7]);
/* Configurable Fault Status Register */
/* Consists of MMSR, BFSR and UFSR */
_CFSR = (*((volatile uint32_t *)(0xE000ED28)));
/* Hard Fault Status Register */
_HFSR = (*((volatile uint32_t *)(0xE000ED2C)));
/* Debug Fault Status Register */
_DFSR = (*((volatile uint32_t *)(0xE000ED30)));
/* Auxiliary Fault Status Register */
_AFSR = (*((volatile uint32_t *)(0xE000ED3C)));
/* Read the Fault Address Registers. These may not contain valid values. */
/* Check BFARVALID/MMARVALID to see if they are valid values */
/* MemManage Fault Address Register */
_MMAR = (*((volatile uint32_t *)(0xE000ED34)));
/* Bus Fault Address Register */
_BFAR = (*((volatile uint32_t *)(0xE000ED38)));
printf ("\n\nHard fault handler (all numbers in hex):\n");
printf ("R0 = %x\n", stacked_r0);
printf ("R1 = %x\n", stacked_r1);
printf ("R2 = %x\n", stacked_r2);
printf ("R3 = %x\n", stacked_r3);
printf ("R12 = %x\n", stacked_r12);
printf ("LR [R14] = %x subroutine call return address\n", stacked_lr);
printf ("PC [R15] = %x program counter\n", stacked_pc);
printf ("PSR = %x\n", stacked_psr);
printf ("CFSR = %x\n", _CFSR);
printf ("HFSR = %x\n", _HFSR);
printf ("DFSR = %x\n", _DFSR);
printf ("AFSR = %x\n", _AFSR);
printf ("MMAR = %x\n", _MMAR);
printf ("BFAR = %x\n", _BFAR);
/* Break into the debugger */
__asm("BKPT #0\n");
}
__attribute__( ( naked, section(".after_vectors") ) )
void HardFault_Handler(void)
{
__asm volatile
(
" tst lr, #4 \n"
" ite eq \n"
" mrseq r0, msp \n"
" mrsne r0, psp \n"
" ldr r1, [r0, #24] \n"
" ldr r2, handler2_address_const \n"
" bx r2 \n"
" handler2_address_const: .word HardFault_HandlerC \n"
);
}
/* Forward declaration of IRQ handlers */
#define ALIAS(f) __attribute__ ((weak, alias (#f)))
void NMI_Handler(void) ALIAS(Default_Handler);
void MemManage_Handler(void) ALIAS(Default_Handler);
void BusFault_Handler(void) ALIAS(Default_Handler);
void UsageFault_Handler(void) ALIAS(Default_Handler);
void SVC_Handler(void) ALIAS(Default_Handler);
void DebugMon_Handler(void) ALIAS(Default_Handler);
void PendSV_Handler(void) ALIAS(Default_Handler);
void SysTick_Handler(void) ALIAS(Default_Handler);
void DAC_IRQHandler(void) ALIAS(Default_Handler);
void DMA_IRQHandler(void) ALIAS(Default_Handler);
void FLASHEEPROM_IRQHandler(void) ALIAS(Default_Handler);
void ETH_IRQHandler(void) ALIAS(Default_Handler);
void SDIO_IRQHandler(void) ALIAS(Default_Handler);
void LCD_IRQHandler(void) ALIAS(Default_Handler);
void USB0_IRQHandler(void) ALIAS(Default_Handler);
void USB1_IRQHandler(void) ALIAS(Default_Handler);
void SCT_IRQHandler(void) ALIAS(Default_Handler);
void RIT_IRQHandler(void) ALIAS(Default_Handler);
void TIMER0_IRQHandler(void) ALIAS(Default_Handler);
void TIMER1_IRQHandler(void) ALIAS(Default_Handler);
void TIMER2_IRQHandler(void) ALIAS(Default_Handler);
void TIMER3_IRQHandler(void) ALIAS(Default_Handler);
void MCPWM_IRQHandler(void) ALIAS(Default_Handler);
void ADC0_IRQHandler(void) ALIAS(Default_Handler);
void I2C0_IRQHandler(void) ALIAS(Default_Handler);
void I2C1_IRQHandler(void) ALIAS(Default_Handler);
void ADC1_IRQHandler(void) ALIAS(Default_Handler);
void SSP0_IRQHandler(void) ALIAS(Default_Handler);
void SSP1_IRQHandler(void) ALIAS(Default_Handler);
void UART0_IRQHandler(void) ALIAS(Default_Handler);
void UART1_IRQHandler(void) ALIAS(Default_Handler);
void UART2_IRQHandler(void) ALIAS(Default_Handler);
void UART3_IRQHandler(void) ALIAS(Default_Handler);
void I2S0_IRQHandler(void) ALIAS(Default_Handler);
void I2S1_IRQHandler(void) ALIAS(Default_Handler);
void SPIFI_IRQHandler(void) ALIAS(Default_Handler);
void SGPIO_IRQHandler(void) ALIAS(Default_Handler);
void GPIO0_IRQHandler(void) ALIAS(Default_Handler);
void GPIO1_IRQHandler(void) ALIAS(Default_Handler);
void GPIO2_IRQHandler(void) ALIAS(Default_Handler);
void GPIO3_IRQHandler(void) ALIAS(Default_Handler);
void GPIO4_IRQHandler(void) ALIAS(Default_Handler);
void GPIO5_IRQHandler(void) ALIAS(Default_Handler);
void GPIO6_IRQHandler(void) ALIAS(Default_Handler);
void GPIO7_IRQHandler(void) ALIAS(Default_Handler);
void GINT0_IRQHandler(void) ALIAS(Default_Handler);
void GINT1_IRQHandler(void) ALIAS(Default_Handler);
void EVRT_IRQHandler(void) ALIAS(Default_Handler);
void CAN1_IRQHandler(void) ALIAS(Default_Handler);
void ATIMER_IRQHandler(void) ALIAS(Default_Handler);
void RTC_IRQHandler(void) ALIAS(Default_Handler);
void WDT_IRQHandler(void) ALIAS(Default_Handler);
void CAN0_IRQHandler(void) ALIAS(Default_Handler);
void QEI_IRQHandler(void) ALIAS(Default_Handler);
/* Vectors */
extern void (* const g_pfnVectors[])(void);
__attribute__ ((used,section(".isr_vector")))
void (* const g_pfnVectors[])(void) =
{
// Core Level - CM3
&_vStackTop, // The initial stack pointer
ResetISR, // The reset handler
NMI_Handler, // The NMI handler
HardFault_Handler, // The hard fault handler
MemManage_Handler, // The MPU fault handler
BusFault_Handler, // The bus fault handler
UsageFault_Handler, // The usage fault handler
0, // Reserved
0, // Reserved
0, // Reserved
0, // Reserved
SVC_Handler, // SVCall handler
DebugMon_Handler, // Debug monitor handler
0, // Reserved
PendSV_Handler, // The PendSV handler
SysTick_Handler, // The SysTick handler
// Chip Level - LPC18
DAC_IRQHandler, // 16
0, // 17
DMA_IRQHandler, // 18
0, // 19
FLASHEEPROM_IRQHandler, // 20
ETH_IRQHandler, // 21
SDIO_IRQHandler, // 22
LCD_IRQHandler, // 23
USB0_IRQHandler, // 24
USB1_IRQHandler, // 25
SCT_IRQHandler, // 26
RIT_IRQHandler, // 27
TIMER0_IRQHandler, // 28
TIMER1_IRQHandler, // 29
TIMER2_IRQHandler, // 30
TIMER3_IRQHandler, // 31
MCPWM_IRQHandler, // 32
ADC0_IRQHandler, // 33
I2C0_IRQHandler, // 34
I2C1_IRQHandler, // 35
0, // 36
ADC1_IRQHandler, // 37
SSP0_IRQHandler, // 38
SSP1_IRQHandler, // 39
UART0_IRQHandler, // 40
UART1_IRQHandler, // 41
UART2_IRQHandler, // 42
UART3_IRQHandler, // 43
I2S0_IRQHandler, // 44
I2S1_IRQHandler, // 45
SPIFI_IRQHandler, // 46
SGPIO_IRQHandler, // 47
GPIO0_IRQHandler, // 48
GPIO1_IRQHandler, // 49
GPIO2_IRQHandler, // 50
GPIO3_IRQHandler, // 51
GPIO4_IRQHandler, // 52
GPIO5_IRQHandler, // 53
GPIO6_IRQHandler, // 54
GPIO7_IRQHandler, // 55
GINT0_IRQHandler, // 56
GINT1_IRQHandler, // 57
EVRT_IRQHandler, // 58
CAN1_IRQHandler, // 59
0, // 60
0, // 61
ATIMER_IRQHandler, // 62
RTC_IRQHandler, // 63
0, // 64
WDT_IRQHandler, // 65
0, // 66
CAN0_IRQHandler, // 67
QEI_IRQHandler, // 68
};

View File

@ -0,0 +1,95 @@
#include "board.h"
#include <string.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#include <wolfcrypt/test/test.h>
#include <wolfcrypt/benchmark/benchmark.h>
/*****************************************************************************
* Private types/enumerations/variables
****************************************************************************/
/* UART definitions */
#define LPC_UART LPC_USART0
#define UARTx_IRQn USART0_IRQn
/*****************************************************************************
* Public types/enumerations/variables
****************************************************************************/
typedef struct func_args {
int argc;
char** argv;
int return_code;
} func_args;
const char menu1[] = "\r\n"
"\tt. WolfSSL Test\r\n"
"\tb. WolfSSL Benchmark\r\n";
/*****************************************************************************
* Private functions
****************************************************************************/
/*****************************************************************************
* Public functions
****************************************************************************/
int main(void)
{
int opt = 0;
uint8_t buffer[1];
func_args args;
SystemCoreClockUpdate();
Board_Init();
Board_UART_Init(LPC_UART);
Chip_UART_Init(LPC_UART);
Chip_UART_SetBaud(LPC_UART, 115200);
Chip_UART_ConfigData(LPC_UART, UART_LCR_WLEN8 | UART_LCR_SBS_1BIT); /* Default 8-N-1 */
Chip_UART_TXEnable(LPC_UART);
Chip_UART_SetupFIFOS(LPC_UART, (UART_FCR_FIFO_EN | UART_FCR_RX_RS |
UART_FCR_TX_RS | UART_FCR_DMAMODE_SEL | UART_FCR_TRG_LEV0));
Chip_UART_IntEnable(LPC_UART, (UART_IER_ABEOINT | UART_IER_ABTOINT));
NVIC_SetPriority(UARTx_IRQn, 1);
NVIC_EnableIRQ(UARTx_IRQn);
Chip_OTP_Init();
while (1) {
DEBUGOUT("\r\n\t\t\t\tMENU\r\n");
DEBUGOUT(menu1);
DEBUGOUT("Please select one of the above options: ");
opt = 0;
while (opt == 0) {
opt = Chip_UART_Read(LPC_UART, buffer, sizeof(buffer));
}
switch (buffer[0]) {
case 't':
memset(&args, 0, sizeof(args));
printf("\nCrypt Test\n");
wolfcrypt_test(&args);
printf("Crypt Test: Return code %d\n", args.return_code);
break;
case 'b':
memset(&args, 0, sizeof(args));
printf("\nBenchmark Test\n");
benchmark_test(&args);
printf("Benchmark Test: Return code %d\n", args.return_code);
break;
// All other cases go here
default: DEBUGOUT("\r\nSelection out of range\r\n"); break;
}
}
}

View File

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

View File

@ -1,249 +0,0 @@
/* cyassl_MDK_ARM.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* 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-1301, USA
*/
/***************************************************************************************/
/** This file is for defining functions for specific to KEIL-RL. **/
/***************************************************************************************/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#if defined (CYASSL_MDK5)
#include "cmsis_os.h"
#if defined(CYASSL_KEIL_TCP_NET)
#include "rl_net.h"
#endif
#else
#include <rtl.h>
#endif
#include "cyassl_MDK_ARM.h"
#include <cyassl/ctaocrypt/visibility.h>
#include <cyassl/ctaocrypt/logging.h>
#if defined (CYASSL_CMSIS_RTOS)
#define os_dly_wait(t) osDelay(10*t)
#endif
/** KEIL-RL TCPnet ****/
/** TCPnet BSD socket does not have following functions. **/
#if defined(CYASSL_KEIL_TCP_NET)
char *inet_ntoa(struct in_addr in)
{
#define NAMESIZE 16
static char name[NAMESIZE] ;
sprintf(name, "%d.%d.%d.%d", (in.s_addr>>24)&0xff, (in.s_addr>>16)&0xff, (in.s_addr>>8)&0xff, in.s_addr&0xff) ;
return name ;
}
unsigned long inet_addr(const char *cp)
{
unsigned int a[4] ; unsigned long ret ;
sscanf(cp, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]) ;
ret = ((a[3]<<24) + (a[2]<<16) + (a[1]<<8) + a[0]) ;
return(ret) ;
}
/*** tcp_connect is actually associated with following syassl_tcp_connect. ***/
int Cyassl_connect(int sd, const struct sockaddr* sa, int sz)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
SOCKADDR_IN addr ;
addr = *(SOCKADDR_IN *)sa ;
do {
#undef connect /* Go to KEIL TCPnet connect */
ret = connect(sd, (SOCKADDR *)&addr, sizeof(addr)) ;
os_dly_wait(50);
} while(ret == SCK_EWOULDBLOCK) ;
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Connect return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_accept(int sd, struct sockaddr *addr, int *addrlen)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
while(1) {
#undef accept /* Go to KEIL TCPnet accept */
ret = accept(sd, addr, addrlen) ;
if(ret != SCK_EWOULDBLOCK) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Accept return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_recv(int sd, void *buf, size_t len, int flags)
{
int ret = 0;
#if defined(CYASSL_KEIL_TCP_NET)
while(1) {
#undef recv /* Go to KEIL TCPnet recv */
ret = recv(sd, buf, len, flags) ;
if((ret != SCK_EWOULDBLOCK) &&( ret != SCK_ETIMEOUT)) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Recv return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_send(int sd, const void *buf, size_t len, int flags)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
while(1) {
#undef send /* Go to KEIL TCPnet send */
ret = send(sd, buf, len, flags) ;
if(ret != SCK_EWOULDBLOCK) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Send return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret) ;
}
#endif /* CYASSL_KEIL_TCP_NET */
#if defined(CYASSL_KEIL_TCP_NET)
void Cyassl_sleep(int t)
{
#if defined(HAVE_KEIL_RTX)
os_dly_wait(t/1000+1) ;
#endif
}
int Cyassl_tcp_select(int sd, int timeout)
{
return 0 ;
}
#endif
extern int strlen(const char *s) ;
FILE * CyaSSL_fopen(const char *name, const char *openmode)
{
int i ; FILE * ret ;
#define PATHSIZE 100
char path[PATHSIZE] ; char *p ;
if(strlen(name) > PATHSIZE)return(NULL) ;
for(i = 0; i<= strlen(name); i++) {
if(name[i] == '/')path[i] = '\\' ;
else path[i] = name[i] ;
}
if(path[0] == '.' && path[1] == '\\') p = path + 2 ;
else p = path ;
ret = fopen (p, openmode) ;
return(ret) ;
}
#if defined (CYASSL_MDK5)
#define getkey getchar
#define sendchar putchar
#else
extern int getkey(void) ;
extern int sendchar(int c) ;
#endif
char * Cyassl_fgets ( char * str, int num, FILE * f )
{
int i ;
for(i = 0 ; i< num ; i++) {
while((str[i] = getkey()) == 0) {
#if defined (HAVE_KEIL_RTX)
#if !defined(CYASSL_CMSIS_RTOS)
os_tsk_pass ();
#else
osThreadYield ();
#endif
#endif
}
if(str[i] == '\n' || str[i] == '\012' || str[i] == '\015') {
sendchar('\n') ;
str[i++] = '\n' ;
str[i] = '\0' ;
break ;
} else if(str[i] == '\010') { /* BS */
if(i) { /* erace one char */
sendchar('\010') ; sendchar(' ') ; sendchar('\010') ;
i = (i>0 ? (i-2) : -1 ) ;
continue ;
}
} else if(str[i] == '\033' || str[i] == '\004' ) { /* ESC or ^D */
str[i] = '\0' ;
return(0) ;
}
sendchar(str[i]) ;
}
return(str) ;
}

View File

@ -1,53 +0,0 @@
/* ssl-dummy.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* 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-1301, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ssl.h>
#include <cyassl/internal.h>
#include <cyassl/error-ssl.h>
#include <cyassl/ctaocrypt/coding.h>
Signer* GetCA(void* vp, byte* hash)
{
Signer*s ;
return s ;
}
int CyaSSL_dtls(CYASSL* ssl)
{
return ssl->options.dtls;
}
int CyaSSL_get_using_nonblock(CYASSL* ssl)
{
CYASSL_ENTER("CyaSSL_get_using_nonblock");
CYASSL_LEAVE("CyaSSL_get_using_nonblock", ssl->options.usingNonblock);
return ssl->options.usingNonblock;
}
Signer* GetCAByName(void* vp, byte* hash)
{
Signer * ca ;
return(ca) ;
}

View File

@ -55,7 +55,9 @@ int sendchar (int c)
int getkey (void)
{
int ch = SER_GetChar();
#if defined (HAVE_KEIL_RTX)
os_itv_wait ();
#endif
if (ch < 0) {
return 0;
}
@ -250,7 +252,7 @@ char *_sys_command_string (char *cmd, int len)
void _sys_exit (int return_code)
{
#ifdef CYASSL_MDK_SHELL
#ifdef WOLFSSL_MDK_SHELL
return ;
#else
/* Endless loop. */

View File

@ -1,8 +1,8 @@
/* certs_test.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,13 +16,14 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
/* Define initial data for cert buffers */
#include <cyassl/certs_test.h>
#include <wolfssl/certs_test.h>

View File

@ -1,5 +1,5 @@
#ifndef CYASSL_CERT_DATA_H
#define CYASSL_CERT_DATA_H
#ifndef WOLFSSL_CERT_DATA_H
#define WOLFSSL_CERT_DATA_H
#ifdef USE_CERT_BUFFERS_1024
extern const unsigned char client_key_der_1024[] ;

View File

@ -1,8 +1,8 @@
/* config-BEREFOOT.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,24 +16,26 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/**** CyaSSL for KEIL-RL Configuration ****/
/**** wolfSSL for KEIL-RL Configuration ****/
#define __CORTEX_M3__
#define CYASSL_MDK_ARM
#define WOLFSSL_MDK_ARM
#define NO_WRITEV
#define NO_CYASSL_DIR
#define NO_MAIN_DRIVER
#define NO_WOLFSSL_DIR
//#define NO_MAIN_DRIVER
#define CYASSL_DER_LOAD
#define WOLFSSL_DER_LOAD
#define HAVE_NULL_CIPHER
#define SINGLE_THREADED
#define NO_FILESYSTEM
#define NO_TLS
#define WOLFSSL_USER_IO
#define NO_ECHOSERVER
#define NO_ECHOCLIENT
@ -48,10 +50,10 @@
// <e>Command Shell
#define MDK_CONF_SHELL 1
#if MDK_CONF_SHELL == 1
#define CYASSL_MDK_SHELL
#define WOLFSSL_MDK_SHELL
#endif
// </e>
// <h>CyaSSL Apps
// <h>wolfSSL Apps
// <h>Crypt/Cipher
// <o>Cert Storage <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 1
@ -95,14 +97,14 @@
// </h>
// <h>CTaoCrypt Library
// <h>wolfCrypt Library
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#define WOLFSSL_MD2
#endif
// </e>
// <e>MD4
@ -115,19 +117,19 @@
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#define WOLFSSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#define WOLFSSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#define WOLFSSL_RIPEMD
#endif
// </e>
// <e>HMAC
@ -169,7 +171,7 @@
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
// <i>need this for WOLFSSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
@ -233,13 +235,13 @@
// <e>Debug Message
#define MDK_CONF_DebugMessage 0
#if MDK_CONF_DebugMessage == 1
#define DEBUG_CYASSL
#define DEBUG_WOLFSSL
#endif
// </e>
// <e>Check malloc
#define MDK_CONF_CheckMalloc 1
#if MDK_CONF_CheckMalloc == 1
#define CYASSL_MALLOC_CHECK
#define WOLFSSL_MALLOC_CHECK
#endif
// </e>
@ -274,7 +276,7 @@
// <e>Small Stack
#define MDK_CONF_SmallStack 1
#if MDK_CONF_SmallStack == 0
#define NO_CYASSL_SMALL_STACK
#define NO_WOLFSSL_SMALL_STACK
#endif
// </e>
// <e>Use Fast Math

View File

@ -1,8 +1,8 @@
/* config-FS.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,20 +16,21 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/**** CyaSSL for KEIL-RL Configuration ****/
/**** wolfSSL for KEIL-RL Configuration ****/
#define __CORTEX_M3__
#define CYASSL_KEIL_RL
#define WOLFSSL_KEIL_RL
#define NO_WRITEV
#define NO_CYASSL_DIR
#define NO_WOLFSSL_DIR
#define NO_MAIN_DRIVER
#define WOLFSSL_USER_IO
#define CYASSL_DER_LOAD
#define WOLFSSL_DER_LOAD
#define HAVE_NULL_CIPHER
#define SINGLE_THREADED
@ -47,10 +48,10 @@
// <e>Command Shell
#define MDK_CONF_SHELL 1
#if MDK_CONF_SHELL == 1
#define CYASSL_MDK_SHELL
#define WOLFSSL_MDK_SHELL
#endif
// </e>
// <h>CyaSSL Apps
// <h>wolfSSL Apps
// <h>Crypt/Cipher
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
@ -92,7 +93,7 @@
// </h>
// <h>CyaSSL Library
// <h>wolfSSL Library
// <h>SSL (Included by default)
// </h>
@ -106,19 +107,19 @@
// <e>CertGen
#define MDK_CONF_CERT_GEN 0
#if MDK_CONF_CERT_GEN == 1
#define CYASSL_CERT_GEN
#define WOLFSSL_CERT_GEN
#endif
// </e>
// <e>KeyGen
#define MDK_CONF_KEY_GEN 0
#if MDK_CONF_KEY_GEN == 1
#define CYASSL_KEY_GEN
#define WOLFSSL_KEY_GEN
#endif
// </e>
// <e>CRL
#define MDK_CONF_DER_LOAD 0
#if MDK_CONF_DER_LOAD == 1
#define CYASSL_DER_LOAD
#define WOLFSSL_DER_LOAD
#endif
// </e>
// <e>OpenSSL Extra
@ -132,7 +133,7 @@
// </h>
// <h>CTaoCrypt Library
// <h>wolfCrypt Library
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
@ -140,7 +141,7 @@
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#define WOLFSSL_MD2
#endif
// </e>
// <e>MD4
@ -153,19 +154,19 @@
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#define WOLFSSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#define WOLFSSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#define WOLFSSL_RIPEMD
#endif
// </e>
// <e>HMAC
@ -207,7 +208,7 @@
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
// <i>need this for WOLFSSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
@ -271,13 +272,13 @@
// <e>Debug Message
#define MDK_CONF_DebugMessage 0
#if MDK_CONF_DebugMessage == 1
#define DEBUG_CYASSL
#define DEBUG_WOLFSSL
#endif
// </e>
// <e>Check malloc
#define MDK_CONF_CheckMalloc 1
#if MDK_CONF_CheckMalloc == 1
#define CYASSL_MALLOC_CHECK
#define WOLFSSL_MALLOC_CHECK
#endif
// </e>
@ -312,7 +313,7 @@
// <e>Small Stack
#define MDK_CONF_SmallStack 1
#if MDK_CONF_SmallStack == 0
#define NO_CYASSL_SMALL_STACK
#define NO_WOLFSSL_SMALL_STACK
#endif
// </e>
// <e>Use Fast Math

View File

@ -1,8 +1,8 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,24 +16,25 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/**** CyaSSL for KEIL-RL Configuration ****/
/**** wolfSSL for MDK-RTX-TCP-FS Configuration ****/
#define __CORTEX_M3__
#define CYASSL_MDK_ARM
#define WOLFSSL_MDK_ARM
#define NO_WRITEV
#define NO_CYASSL_DIR
#define NO_WOLFSSL_DIR
#define NO_MAIN_DRIVER
#define CYASSL_DER_LOAD
#define WOLFSSL_DER_LOAD
#define HAVE_NULL_CIPHER
#define HAVE_KEIL_RTX
#define CYASSL_KEIL_TCP_NET
#define WOLFSSL_KEIL_TCP_NET
// <<< Use Configuration Wizard in Context Menu >>>
@ -43,10 +44,10 @@
// <e>Command Shell
#define MDK_CONF_SHELL 1
#if MDK_CONF_SHELL == 1
#define CYASSL_MDK_SHELL
#define WOLFSSL_MDK_SHELL
#endif
// </e>
// <h>CyaSSL Apps
// <h>wolfSSL Apps
// <h>Crypt/Cipher
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
@ -115,7 +116,7 @@
// </h>
// <h>CyaSSL Library
// <h>wolfSSL Library
// <h>SSL (Included by default)
// </h>
@ -129,23 +130,23 @@
// <e>CertGen
#define MDK_CONF_CERT_GEN 0
#if MDK_CONF_CERT_GEN == 1
#define CYASSL_CERT_GEN
#define WOLFSSL_CERT_GEN
#endif
// </e>
// <e>KeyGen
#define MDK_CONF_KEY_GEN 0
#if MDK_CONF_KEY_GEN == 1
#define CYASSL_KEY_GEN
#define WOLFSSL_KEY_GEN
#endif
// </e>
// <e>CRL
#define MDK_CONF_DER_LOAD 0
#if MDK_CONF_DER_LOAD == 1
#define CYASSL_DER_LOAD
#define WOLFSSL_DER_LOAD
#endif
// </e>
// <e>OpenSSL Extra
#define MDK_CONF_OPENSSL_EXTRA 1
#define MDK_CONF_OPENSSL_EXTRA 0
#if MDK_CONF_OPENSSL_EXTRA == 1
#define OPENSSL_EXTRA
#endif
@ -155,18 +156,18 @@
// </h>
// <h>CTaoCrypt Library
// <h>wolfCrypt Library
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#define WOLFSSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#define MDK_CONF_MD4 0
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
@ -175,19 +176,19 @@
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#define WOLFSSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#define WOLFSSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 1
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#define WOLFSSL_RIPEMD
#endif
// </e>
// <e>HMAC
@ -216,7 +217,7 @@
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#define MDK_CONF_DES3 0
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
@ -229,7 +230,7 @@
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
// <i>need this for WOLFSSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
@ -249,7 +250,7 @@
// </e>
// <e>ECC
#define MDK_CONF_ECC 1
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
@ -293,13 +294,13 @@
// <e>Debug Message
#define MDK_CONF_DEBUG_MSG 0
#if MDK_CONF_DEBUG_MSG == 1
#define DEBUG_CYASSL
#define DEBUG_WOLFSSL
#endif
// </e>
// <e>Check malloc
#define MDK_CONF_CHECK_MALLOC 1
#if MDK_CONF_CHECK_MALLOC == 1
#define CYASSL_MALLOC_CHECK
#define WOLFSSL_MALLOC_CHECK
#endif
// </e>
@ -325,7 +326,7 @@
// </e>
// <e>Error Strings
#define MDK_CONF_ErrorStrings 1
#define MDK_CONF_ErrorStrings 0
#if MDK_CONF_ErrorStrings == 0
#define NO_ERROR_STRINGS
#endif
@ -334,13 +335,14 @@
// <e>Small Stack
#define MDK_CONF_SMALL_STACK 1
#if MDK_CONF_SMALL_STACK == 0
#define NO_CYASSL_SMALL_STACK
#define NO_WOLFSSL_SMALL_STACK
#endif
// </e>
// <e>Use Fast Math
#define MDK_CONF_FASTMATH 0
#define MDK_CONF_FASTMATH 1
#if MDK_CONF_FASTMATH == 1
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#endif
// </e>
@ -349,3 +351,4 @@
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,13 @@
#define SINGLE_THREADED /* or define RTOS option */
#define WOLFSSL_USER_IO /* Use own TCP/IP lib */
#define NO_DEV_RANDOM
#define WOLFSSL_MDK_ARM
#define NO_WOLFSSL_DIR
#define NO_WRITEV
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT

View File

@ -1,8 +1,8 @@
/* config.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,23 +16,30 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/**** CyaSSL for KEIL-RL Configuration ****/
#ifndef MDK_CONFIG_H__
#define MDK_CONFIG_H__
/**** wolfSSL for KEIL-RL Configuration ****/
#define __CORTEX_M3__
#define CYASSL_MDK_ARM
#define WOLFSSL_MDK_ARM
#define NO_WRITEV
#define NO_CYASSL_DIR
#define NO_WOLFSSL_DIR
#define NO_MAIN_DRIVER
/* for Retarget.c */
#define STDIO
#define BENCH_EMBEDDED
#define CYASSL_DER_LOAD
#define WOLFSSL_DER_LOAD
#define HAVE_NULL_CIPHER
#define WOLFSSL_USER_TIME
#define NO_TIME_H
static int ValidateDate(const unsigned char* date, unsigned char format, int dateType){ return 1; }
#if defined(MDK_CONF_RTX_TCP_FS)
#include "config-RTX-TCP-FS.h"
@ -42,5 +49,8 @@
#include "config-FS.h"
#elif defined(MDK_CONF_BARE_METAL)
#include "config-BARE-METAL.h"
#elif defined(MDK_WOLFLIB)
#include "config-WOLFLIB.h"
#endif
#endif

View File

@ -1,8 +1,8 @@
/* main.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,19 +16,20 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ctaocrypt/visibility.h>
#include <cyassl/ctaocrypt/logging.h>
#include <wolfssl/wolfcrypt/visibility.h>
#include <wolfssl/wolfcrypt/logging.h>
#include <RTL.h>
#include <stdio.h>
#include "cyassl_MDK_ARM.h"
#include "wolfssl_MDK_ARM.h"
/*-----------------------------------------------------------------------------
* Initialize a Flash Memory Card
@ -53,11 +54,11 @@ static void init_card (void)
/*-----------------------------------------------------------------------------
* TCP/IP tasks
*----------------------------------------------------------------------------*/
#ifdef CYASSL_KEIL_TCP_NET
#ifdef WOLFSSL_KEIL_TCP_NET
__task void tcp_tick (void)
{
CYASSL_MSG("Time tick started.") ;
WOLFSSL_MSG("Time tick started.") ;
#if defined (HAVE_KEIL_RTX)
os_itv_set (10);
#endif
@ -73,7 +74,7 @@ __task void tcp_tick (void)
__task void tcp_poll (void)
{
CYASSL_MSG("TCP polling started.\n") ;
WOLFSSL_MSG("TCP polling started.\n") ;
while (1) {
main_TcpNet ();
#if defined (HAVE_KEIL_RTX)
@ -83,13 +84,13 @@ __task void tcp_poll (void)
}
#endif
#if defined(HAVE_KEIL_RTX) && defined(CYASSL_MDK_SHELL)
#if defined(HAVE_KEIL_RTX) && defined(WOLFSSL_MDK_SHELL)
#define SHELL_STACKSIZE 1000
static unsigned char Shell_stack[SHELL_STACKSIZE] ;
#endif
#if defined(CYASSL_MDK_SHELL)
#if defined(WOLFSSL_MDK_SHELL)
extern void shell_main(void) ;
#endif
@ -104,14 +105,14 @@ extern void SER_Init(void) ;
/*** This is the parent task entry ***/
void main_task (void)
{
#ifdef CYASSL_KEIL_TCP_NET
#ifdef WOLFSSL_KEIL_TCP_NET
init_TcpNet ();
os_tsk_create (tcp_tick, 2);
os_tsk_create (tcp_poll, 1);
#endif
#ifdef CYASSL_MDK_SHELL
#ifdef WOLFSSL_MDK_SHELL
#ifdef HAVE_KEIL_RTX
os_tsk_create_user(shell_main, 1, Shell_stack, SHELL_STACKSIZE) ;
#else
@ -127,7 +128,7 @@ void main_task (void)
#endif
#ifdef HAVE_KEIL_RTX
CYASSL_MSG("Terminating tcp_main\n") ;
WOLFSSL_MSG("Terminating tcp_main\n") ;
os_tsk_delete_self ();
#endif
@ -137,28 +138,24 @@ void main_task (void)
int myoptind = 0;
char* myoptarg = NULL;
#if defined(DEBUG_CYASSL)
extern void CyaSSL_Debugging_ON(void) ;
#if defined(DEBUG_WOLFSSL)
extern void wolfSSL_Debugging_ON(void) ;
#endif
/*** main entry ***/
extern void init_time(void) ;
extern void SystemInit(void);
int main() {
SystemInit();
SER_Init() ;
#if !defined(NO_FILESYSTEM)
init_card () ; /* initializing SD card */
#endif
init_time() ;
#if defined(DEBUG_CYASSL)
#if defined(DEBUG_WOLFSSL)
printf("Turning ON Debug message\n") ;
CyaSSL_Debugging_ON() ;
wolfSSL_Debugging_ON() ;
#endif
#ifdef HAVE_KEIL_RTX

View File

@ -1,8 +1,8 @@
/*shell.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,29 +16,30 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/*** tiny Shell for CyaSSL apps ***/
/*** tiny Shell for wolfSSL apps ***/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "cyassl/internal.h"
#undef RNG
#include <cyassl/ctaocrypt/logging.h>
#include <wolfssl/wolfcrypt/logging.h>
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#if defined(WOLFSSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <rtl.h>
#include "cyassl_MDK_ARM.h"
#include "wolfssl_MDK_ARM.h"
#endif
#ifdef CYASSL_KEIL_NET
#include "cyassl/test.h"
#ifdef WOLFSSL_KEIL_NET
#include "wolfassl/test.h"
#else
typedef struct func_args {
int argc;
@ -66,7 +67,7 @@ typedef struct func_args {
#define ctaocrypt_test command_not_found
#endif
#ifndef CYASSL_KEIL_NET
#ifndef WOLFSSL_KEIL_NET
#define ipaddr_comm command_not_found
#endif
@ -75,7 +76,7 @@ typedef struct func_args {
#endif
#if !defined(DEBUG_CYASSL)
#if !defined(DEBUG_WOLFSSL)
#define dbg_comm command_not_found
#endif
@ -87,11 +88,11 @@ void command_not_found(void *argv) {
extern void echoclient_test(void *args) ;
extern void echoserver_test(void *args) ;
extern void benchmark_test(void *args) ;
extern void ctaocrypt_test(void *args) ;
extern void wolfcrypt_test(void *args) ;
extern void client_test(void *args) ;
extern void server_test(void *args) ;
extern void kill_task(void *args) ;
extern void time_main(void *args) ;
extern void ipaddr_comm(void *args) ;
extern void stack_comm(void *args) ;
extern void for_command(void *args) ;
@ -103,7 +104,7 @@ extern void help_comm(void *arg) ;
#ifndef NO_MD5
extern void md5_test(void *arg) ;
#endif
#ifdef CYASSL_MD2
#ifdef WOLFSSL_MD2
extern void md2_test(void *arg) ;
#endif
#ifndef NO_MD4
@ -115,15 +116,15 @@ extern void sha_test(void *arg) ;
#ifndef NO_SHA256
extern void sha256_test(void *arg) ;
#endif
#ifdef CYASSL_SHA384
#ifdef WOLFSSL_SHA384
extern void sha384_test(void *arg) ;
#endif
#ifdef CYASSL_SHA512
#ifdef WOLFSSL_SHA512
extern void sha512_test(void *arg) ;
#endif
#ifdef CYASSL_RIPEMD
#ifdef WOLFSSL_RIPEMD
extern void ripemd_test(void *arg) ;
#endif
#ifndef NO_HMAC
@ -136,7 +137,7 @@ extern void hmac_sha_test(void *arg) ;
extern void hmac_sha256_test(void *arg) ;
#endif
#ifdef CYASSL_SHA384
#ifdef WOLFSSL_SHA384
extern void hmac_sha384_test(void *arg) ;
#endif
#endif
@ -206,10 +207,9 @@ static struct {
"echoclient", echoclient_test,
"echoserver", echoserver_test,
"benchmark", benchmark_test,
"test", ctaocrypt_test,
"test", wolfcrypt_test,
"client", client_test,
"server", server_test,
"time", time_main, /* get/set RTC: [-d yy/mm/dd] [-t hh:mm:ss]*/
"ipaddr", ipaddr_comm, /* TBD */
"stack", stack_comm, /* On/Off check stack size */
"for", for_command, /* iterate next command X times */
@ -220,7 +220,7 @@ static struct {
"ec", echoclient_test,
"es", echoserver_test,
"bm", benchmark_test,
"te", ctaocrypt_test,
"te", wolfcrypt_test,
"cl", client_test,
"sv", server_test,
"ip", ipaddr_comm,
@ -233,7 +233,7 @@ static struct {
#ifndef NO_MD5
"md5", md5_test,
#endif
#ifdef CYASSL_MD2
#ifdef WOLFSSL_MD2
"md2", md2_test,
#endif
#ifndef NO_MD4
@ -243,13 +243,13 @@ static struct {
#ifndef NO_SHA256
"sha256", sha256_test,
#endif
#ifdef CYASSL_SHA384
#ifdef WOLFSSL_SHA384
"sha384", sha384_test,
#endif
#ifdef CYASSL_SHA512
#ifdef WOLFSSL_SHA512
"sha512", sha512_test,
#endif
#ifdef CYASSL_RIPEMD
#ifdef WOLFSSL_RIPEMD
"ripemd", ripemd_test,
#endif
#ifndef NO_HMAC
@ -260,7 +260,7 @@ static struct {
#ifndef NO_SHA256
"hmac_sha256", hmac_sha256_test,
#endif
#ifdef CYASSL_SHA384
#ifdef WOLFSSL_SHA384
"hmac_sha384", hmac_sha384_test,
#endif
#endif
@ -362,18 +362,18 @@ static int BackGround = 0 ; /* 1: background job is running */
/************* Embedded Shell Commands **********************************/
#define IP_SIZE 16
#ifdef CYASSL_KEIL_NET
#ifdef WOLFSSL_KEIL_NET
static void ipaddr_comm(void *args)
{
if(((func_args *)args)->argc == 1) {
printf("IP addr: %s, port %d\n", yasslIP, yasslPort) ;
printf("IP addr: %s, port %d\n", wolfSSLIP, wolfSSLPort) ;
} else {
if(BackGround != 0) {
printf("Cannot change IP addr while background server is running\n") ;
} else if(((func_args *)args)->argc == 3 &&
((func_args *)args)->argv[1][0] == '-'&&
((func_args *)args)->argv[1][1] == 'a' ) {
/* strcpy(yasslIP, ((func_args *)args)->argv[2]) ; */
/* strcpy(wolfSSLIP, ((func_args *)args)->argv[2]) ; */
} else if(((func_args *)args)->argc == 3 &&
((func_args *)args)->argv[1][0] == '-' &&
((func_args *)args)->argv[1][1] == 'p' ) {
@ -442,20 +442,20 @@ static void for_command(void *args)
}
#if defined(DEBUG_CYASSL)
#if defined(DEBUG_WOLFSSL)
static int CyasslDebug = 1 ;
static int wolfsslDebug = 1 ;
static void dbg_comm(void *args)
{
if(CyasslDebug == 1) {
CyasslDebug = 0 ;
if(wolfsslDebug == 1) {
wolfsslDebug = 0 ;
printf("Turning OFF Debug message\n") ;
CyaSSL_Debugging_OFF() ;
wolfSSL_Debugging_OFF() ;
} else {
CyasslDebug = 1 ;
wolfsslDebug = 1 ;
printf("Turning ON Debug message\n") ;
CyaSSL_Debugging_ON() ;
wolfSSL_Debugging_ON() ;
}
}
#endif
@ -467,20 +467,20 @@ static void help_comm(void *args)
#define BG_JOB_STACK_SIZE 12000
#define BG_JOB_STACK_SIZE 16000
#if (!defined(NO_SIMPLE_SERVER) && !defined(NO_ECHOSERVER)) && \
defined(HAVE_KEIL_RTX)
static char bg_job_stack[BG_JOB_STACK_SIZE] ;
#endif
#define COMMAND_STACK_SIZE 12000
#define COMMAND_STACK_SIZE 16000
#if defined(HAVE_KEIL_RTX)
static char command_stack[COMMAND_STACK_SIZE] ;
#endif
#ifdef HAVE_KEIL_RTX
static CyaSSL_Mutex command_mutex ;
static wolfSSL_Mutex command_mutex ;
#endif
/*********** Invoke Forground Command *********************/
@ -491,7 +491,7 @@ static void command_invoke(void *args)
func = (void(*)(void *))((func_args *)args)->argv[0] ;
#ifdef HAVE_KEIL_RTX
LockMutex((CyaSSL_Mutex *)&command_mutex) ;
wc_LockMutex((wolfSSL_Mutex *)&command_mutex) ;
#endif
iteration = for_iteration ;
for(i=0; i< iteration; i++) {
@ -509,7 +509,7 @@ static void command_invoke(void *args)
if(iteration > 1)
for_iteration = 1 ;
#ifdef HAVE_KEIL_RTX
UnLockMutex((CyaSSL_Mutex *)&command_mutex) ;
wc_UnLockMutex((wolfSSL_Mutex *)&command_mutex) ;
os_tsk_delete_self() ;
#endif
}
@ -525,7 +525,7 @@ static void bg_job_invoke(void *args)
func = (void(*)(void *))((func_args *)args)->argv[0] ;
func(args) ; /* invoke command */
stack_check(bg_job_stack, BG_JOB_STACK_SIZE) ;
#ifdef CYASSL_KEIL_NET
#ifdef WOLFSSL_KEIL_NET
init_TcpNet ();
#endif
BackGround = 0 ;
@ -548,9 +548,8 @@ void shell_main(void) {
#if defined(HAVE_KEIL_RTX)
InitMutex(&command_mutex) ;
wc_InitMutex(&command_mutex) ;
#endif
time_main(NULL) ;
printf("Starting Shell\n") ;
while(1) {
if(getline(line, LINESIZE, &args, &bf_flg) > 0) {
@ -559,14 +558,14 @@ void shell_main(void) {
args.argv[0] = (char *) commandTable[i].func ;
if(bf_flg == FORGROUND) {
#ifdef HAVE_KEIL_RTX
UnLockMutex((CyaSSL_Mutex *)&command_mutex) ;
wc_UnLockMutex((wolfSSL_Mutex *)&command_mutex) ;
os_tsk_create_user_ex( (void(*)(void *))&command_invoke, 7,
command_stack, COMMAND_STACK_SIZE, &args) ;
#else
command_invoke(&args) ;
#endif
#ifdef HAVE_KEIL_RTX
LockMutex((CyaSSL_Mutex *)&command_mutex) ;
wc_LockMutex((wolfSSL_Mutex *)&command_mutex) ;
#endif
} else {
#if (!defined(NO_SIMPLE_SERVER) && \

View File

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

View File

@ -1,8 +1,8 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,8 +16,9 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
@ -25,7 +26,7 @@
#include "time.h"
struct tm *Cyassl_MDK_gmtime(const time_t *c)
struct tm *wolfssl_MDK_gmtime(const time_t *c)
{
static struct tm date ;
return(&date) ;

View File

@ -1,23 +1,23 @@
/* cyassl_KEIL_RL.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* 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-1301, USA
*/
/* wolfssl_KEIL_RL.c
*
* Copyright (C) 2006-2016 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
*/
/***************************************************************************************/
@ -27,22 +27,29 @@
#include <config.h>
#endif
#include <stdio.h>
#if defined (CYASSL_MDK5)
#include "cmsis_os.h"
#if defined(CYASSL_KEIL_TCP_NET)
#include "rl_net.h"
#endif
#else
#include <rtl.h>
#include <wolfssl/wolfcrypt/settings.h>
#if defined(WOLFSSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(WOLFSSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "wolfssl_MDK_ARM.h"
#endif
#include "cyassl_MDK_ARM.h"
#include "wolfssl_MDK_ARM.h"
#include <cyassl/ctaocrypt/visibility.h>
#include <cyassl/ctaocrypt/logging.h>
#include <wolfssl/wolfcrypt/visibility.h>
#include <wolfssl/wolfcrypt/logging.h>
#if defined (CYASSL_CMSIS_RTOS)
#if defined (WOLFSSL_CMSIS_RTOS)
#define os_dly_wait(t) osDelay(10*t)
#endif
@ -50,7 +57,7 @@
/** KEIL-RL TCPnet ****/
/** TCPnet BSD socket does not have following functions. **/
#if defined(CYASSL_KEIL_TCP_NET)
#if defined(WOLFSSL_KEIL_TCP_NET)
char *inet_ntoa(struct in_addr in)
{
#define NAMESIZE 16
@ -69,10 +76,10 @@ unsigned long inet_addr(const char *cp)
/*** tcp_connect is actually associated with following syassl_tcp_connect. ***/
int Cyassl_connect(int sd, const struct sockaddr* sa, int sz)
int wolfssl_connect(int sd, const struct sockaddr* sa, int sz)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
#if defined(WOLFSSL_KEIL_TCP_NET)
SOCKADDR_IN addr ;
@ -83,100 +90,100 @@ int Cyassl_connect(int sd, const struct sockaddr* sa, int sz)
ret = connect(sd, (SOCKADDR *)&addr, sizeof(addr)) ;
os_dly_wait(50);
} while(ret == SCK_EWOULDBLOCK) ;
#ifdef DEBUG_CYASSL
#ifdef DEBUG_WOLFSSL
{
char msg[50] ;
sprintf(msg, "BSD Connect return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
WOLFSSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
#endif /* WOLFSSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_accept(int sd, struct sockaddr *addr, int *addrlen)
int wolfssl_accept(int sd, struct sockaddr *addr, int *addrlen)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
#if defined(WOLFSSL_KEIL_TCP_NET)
while(1) {
#undef accept /* Go to KEIL TCPnet accept */
ret = accept(sd, addr, addrlen) ;
if(ret != SCK_EWOULDBLOCK) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
#ifdef DEBUG_WOLFSSL
{
char msg[50] ;
sprintf(msg, "BSD Accept return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
WOLFSSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
#endif /* WOLFSSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_recv(int sd, void *buf, size_t len, int flags)
int wolfssl_recv(int sd, void *buf, size_t len, int flags)
{
int ret = 0;
#if defined(CYASSL_KEIL_TCP_NET)
#if defined(WOLFSSL_KEIL_TCP_NET)
while(1) {
#undef recv /* Go to KEIL TCPnet recv */
ret = recv(sd, buf, len, flags) ;
if((ret != SCK_EWOULDBLOCK) &&( ret != SCK_ETIMEOUT)) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
#ifdef DEBUG_WOLFSSL
{
char msg[50] ;
sprintf(msg, "BSD Recv return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
WOLFSSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
#endif /* WOLFSSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_send(int sd, const void *buf, size_t len, int flags)
int wolfssl_send(int sd, const void *buf, size_t len, int flags)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
#if defined(WOLFSSL_KEIL_TCP_NET)
while(1) {
#undef send /* Go to KEIL TCPnet send */
ret = send(sd, buf, len, flags) ;
if(ret != SCK_EWOULDBLOCK) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
#ifdef DEBUG_WOLFSSL
{
char msg[50] ;
sprintf(msg, "BSD Send return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
WOLFSSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
#endif /* WOLFSSL_KEIL_TCP_NET */
return(ret) ;
}
#endif /* CYASSL_KEIL_TCP_NET */
#endif /* WOLFSSL_KEIL_TCP_NET */
#if defined(CYASSL_KEIL_TCP_NET)
void Cyassl_sleep(int t)
#if defined(WOLFSSL_KEIL_TCP_NET)
void wolfssl_sleep(int t)
{
#if defined(HAVE_KEIL_RTX)
os_dly_wait(t/1000+1) ;
#endif
}
int Cyassl_tcp_select(int sd, int timeout)
int wolfssl_tcp_select(int sd, int timeout)
{
return 0 ;
@ -184,9 +191,7 @@ int Cyassl_tcp_select(int sd, int timeout)
}
#endif
extern int strlen(const char *s) ;
FILE * CyaSSL_fopen(const char *name, const char *openmode)
FILE * wolfSSL_fopen(const char *name, const char *openmode)
{
int i ; FILE * ret ;
#define PATHSIZE 100
@ -206,23 +211,18 @@ FILE * CyaSSL_fopen(const char *name, const char *openmode)
return(ret) ;
}
#if defined (CYASSL_MDK5)
#define getkey getchar
#define sendchar putchar
#else
extern int getkey(void) ;
extern int sendchar(int c) ;
#endif
char * Cyassl_fgets ( char * str, int num, FILE * f )
char * wolfssl_fgets ( char * str, int num, FILE * f )
{
int i ;
for(i = 0 ; i< num ; i++) {
while((str[i] = getkey()) == 0) {
#if defined (HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS)
#if defined (HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
os_tsk_pass ();
#else
#elif defined(WOLFSSL_CMSIS_RTOS)
osThreadYield ();
#endif
}

View File

@ -1,8 +1,8 @@
/* cyassl_KEIL_RL.h
/* wolfssl_KEIL_RL.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
* Copyright (C) 2006-2016 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
* This file is part of wolfSSL.
*
* wolfSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,22 +16,23 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/
/******************************************************************************/
/** This file is for defining types, values for specific to KEIL-MDK-ARM. **/
/******************************************************************************/
#ifndef CYASSL_KEIL_RL_H
#define CYASSL_KEIL_RL_H
#ifndef WOLFSSL_KEIL_RL_H
#define WOLFSSL_KEIL_RL_H
#include <stdio.h>
/* Go to STDIN */
#define fgets(buff, sz, fd) Cyassl_fgets(buff, sz, fd)
extern char * Cyassl_fgets ( char * str, int num, FILE * f ) ;
#define fgets(buff, sz, fd) wolfssl_fgets(buff, sz, fd)
extern char * wolfssl_fgets ( char * str, int num, FILE * f ) ;
#define SOCKET_T int
@ -52,11 +53,9 @@ struct timeval {
long tv_usec; /* microseconds */
};
#if defined(WOLFSSL_KEIL_TCP_NET)
#if defined(CYASSL_KEIL_TCP_NET)
#if defined(CYASSL_MDK5)
#if defined(WOLFSSL_MDK5)
#define SCK_EWOULDBLOCK BSD_ERROR_WOULDBLOCK
#define SCK_ETIMEOUT BSD_ERROR_TIMEOUT
#include "rl_net.h"
@ -65,26 +64,26 @@ struct timeval {
typedef int socklen_t ;
/* for avoiding conflict with KEIL-TCPnet BSD socket */
/* Bodies are in cyassl_KEIL_RL.c */
#define connect Cyassl_connect
#define accept Cyassl_accept
#define recv Cyassl_recv
#define send Cyassl_send
#define sleep Cyassl_sleep
/* Bodies are in wolfssl_KEIL_RL.c */
#define connect(a,b,c) wolfssl_connect(a, (struct sockaddr* )(b), c)
#define accept wolfssl_accept
#define recv wolfssl_recv
#define send wolfssl_send
#define sleep wolfssl_sleep
/* for avoiding conflicting with KEIL-TCPnet TCP socket */
/* Bodies are in test.h */
#define tcp_connect Cyassl_tcp_connect
#define tcp_socket Cyassl_tcp_soket
#define tcp_listen Cyassl_tcp_listen
#define tcp_select Cyassl_tcp_select
#define tcp_connect wolfssl_tcp_connect
#define tcp_socket wolfssl_tcp_soket
#define tcp_listen wolfssl_tcp_listen
#define tcp_select wolfssl_tcp_select
extern int Cyassl_connect(int sd, const struct sockaddr * sa, int sz) ;
extern int Cyassl_accept(int sd, struct sockaddr *addr, socklen_t *addrlen);
extern int Cyassl_recv(int sd, void *buf, size_t len, int flags);
extern int Cyassl_send(int sd, const void *buf, size_t len, int flags);
extern void Cyassl_sleep(int sec) ;
extern int Cyassl_tcp_select(int sd, int timeout) ;
extern int wolfssl_connect(int sd, const struct sockaddr* sa, int sz) ;
extern int wolfssl_accept(int sd, struct sockaddr*addr, socklen_t *addrlen);
extern int wolfssl_recv(int sd, void *buf, size_t len, int flags);
extern int wolfssl_send(int sd, const void *buf, size_t len, int flags);
extern void wolfssl_sleep(int sec) ;
extern int wolfssl_tcp_select(int sd, int timeout) ;
/** KEIL-RL TCPnet ****/
/* TCPnet BSD socket does not have following functions. */
@ -95,12 +94,6 @@ extern int setsockopt(int sockfd, int level, int optname,
extern int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, const struct timeval *timeout);
#endif /* CYASSL_KEIL_TCP_NET */
#endif /* WOLFSSL_KEIL_TCP_NET */
/* CyaSSL MDK-ARM time functions */
#include <time.h>
struct tm *Cyassl_MDK_gmtime(const time_t *c) ;
extern double current_time(void) ;
#endif /* CYASSL_KEIL_RL_H */
#endif /* WOLFSSL_KEIL_RL_H */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
Use appropriate config file for the target library.
Configfile files Target
config-WOLFLIB.h: wolfSSL-Lib /* for general use wolfSSL library */
config-BARE-METAL.h: MDK-BAREMETAL-Lib /* for linking with MDK-BAREMETAL target in MDK-ARM-STM32F2xx project */
config-FS.h: MDK-FS-Lib /* for linking with MDK-FS target in MDK-ARM-STM32F2xx project */
config-RTX-TCP-FS.h: MDK-RTX-TCP-FS-Lib /* for linking with MDK-RTX-TCP-FS target in MDK-ARM-STM32F2xx project */

View File

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

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