diff --git a/IDE/WICED-STUDIO/README b/IDE/WICED-STUDIO/README index 35c2f5d77..00545d8ce 100644 --- a/IDE/WICED-STUDIO/README +++ b/IDE/WICED-STUDIO/README @@ -1,15 +1,18 @@ The wolfSSL examples in the WICED SDK require a server or client application. wolfSSL -provides an easy solution in the /examples/ directory. Run the autogen -script and configure the library with necessary functionality, see ./configure -h for a -list of configure options. Finally, run make and make check to ensure the +provides an easy solution in the /examples/ directory. The wolfSSL +code repository is located on GitHub at https://github.com/wolfSSL/wolfssl. +You can download or clone the repository. Run the autogen script and configure +the library with necessary functionality, see ./configure -h +for a list of configure options. Finally, run make and make check to ensure the build was successfull. You can install wolfSSL on your system with make -install if you wish. See www.wolfssl.com/docs/ for more information. +install if you wish. See www.wolfssl.com/docs/wolfssl-manual/ch2/, 'Building +Wolfssl' for more information. Run ./examples/server/server -h for a list of server options or ./examples/client/client -h for client options. If you would like to test the server or client, you may run them on localhost. Instructions on -running the client or server can be found in the snip code examles. The snips are -meant to be a starting off point for your applications. +running the client or server can be found in the snip code examples in the +WICED SDK. The snips are meant to be a starting off point for your applications. Download and install WICED Studio from the Cypress website. @@ -19,25 +22,31 @@ configuration file. Please see www.wolfssl.com/docs/ for detailed instructions o how to use the configure options. Once you have installed the WICED software: - 1. Create a directory called 'wolfssl_lib.' The path should be: + 1. Create a directory called 'wolfssl_lib' in the BESL directory of WICED + SDK. The path to the new directory should be: 43xxx_Wi-Fi/WICED/security/BESL/wolfssl_lib. - 3. Drop in the wolfssl_lib directory you just created. - 4. The user_settings.h file in the IDE/WICED-STUDIO/ directory should be place - at . This file provides the configure options for compiling - wolfSSL with your project. The default values will give you a starting point - and you may further configure the library. - 5. Apply the patch: - git apply --ignore-space-change --ignore-whitespace mychanges.patch + 2. Drag and drop the wolfssl library directory into the wolfssl_lib folder + you just created. The root wolfSSL directory was created when you either + downloaded or cloned the wolfSSL repository from github. + 3. The user_settings.h file in the IDE/WICED-STUDIO/ directory should be + placed at added to the WICED project in step #2.. This + file provides the configure options for compiling wolfSSL with your project. + The default values will give you a starting point and you may further + configure the library to meet your needs. + 4. Apply the patch to your WICED IDE project's 43xxx_Wi-Fi/ directory. + a. Open a terminal and cd into the project 43xxx_Wi-Fi/ directory.: + b. git apply --ignore-space-change --ignore-whitespace mychanges.patch You can now build and use the wolfSSL and wolfCrypt snips within the WICED SDK. Cypress includes great documentation and getting started videos to learn how to -build and run the snips. +build and run the snips in the Cypress Community section of their website, +https://community.cypress.com/welcome/.. wolfSSL provides a wolfCrypt test application, a TLS client and server application, and an HTTPS client application. Future development and additions will be made. -Support for TLS 1.3 is available in the provided snippet and is the most current -TLS version. +Support for TLS 1.3 is available in the provided snippets and it is the most current +TLS version available. Further instructions and documentation can be found on the wolfSSL website at www.wolfssl.com or visit us on our forums at www.wolfssl.com/forums/. diff --git a/IDE/WICED-STUDIO/user_settings.h b/IDE/WICED-STUDIO/user_settings.h index d7b08e932..b548a55ac 100644 --- a/IDE/WICED-STUDIO/user_settings.h +++ b/IDE/WICED-STUDIO/user_settings.h @@ -17,7 +17,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA */ -/* Custom wolfSSL user settings for GCC ARM */ +/* Custom wolfSSL user settings for Cypress WICED Studio. */ #ifndef WOLFSSL_USER_SETTINGS_H #define WOLFSSL_USER_SETTINGS_H diff --git a/wolfcrypt/src/random.c b/wolfcrypt/src/random.c index a99b76326..7690506e7 100644 --- a/wolfcrypt/src/random.c +++ b/wolfcrypt/src/random.c @@ -2052,14 +2052,19 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz) #elif defined(WOLFSSL_WICED) int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz) { + int ret; (void)os; + if (output == NULL || UINT16_MAX < sz) { return BUFFER_E; } - wiced_crypto_get_random((void*) output, sz); + if ((ret = wiced_crypto_get_random((void*) output, sz) ) + != WICED_SUCCESS) { + return ret; + } - return 0; + return ret; } #elif defined(IDIRECT_DEV_RANDOM) diff --git a/wolfssl/wolfcrypt/settings.h b/wolfssl/wolfcrypt/settings.h index aae18c794..f501a4008 100644 --- a/wolfssl/wolfcrypt/settings.h +++ b/wolfssl/wolfcrypt/settings.h @@ -172,7 +172,7 @@ /* Uncomment next line if building for using XILINX */ /* #define WOLFSSL_XILINX */ -/* Uncomment next line if building for WICED Studio. */ +/* Uncomment next line if building for WICED Studio. */ /* #define WOLFSSL_WICED */ /* Uncomment next line if building for Nucleus 1.2 */