* URLs have changed on the FreeRTOS.org site - this commit matches the URLs in the code with the new URLs on the website.
* Add link to device shadow directory to the shadow docs.
* Update main.c
* Update main.c
* Update readme.txt
* Update main.c
* Update main.c
* Update readme.txt
Co-authored-by: yngki <47755894+yngki@users.noreply.github.com>
* Fix logging stack to print message in the first SdkLog
* Do not log metadata if on the same line
* Fix wrong var name
* Change task names to DemoTask
* Change for shadow too
* Move declaration to a separate line
Co-authored-by: Gary Wicker <14828980+gkwicker@users.noreply.github.com>
* Update logging_stack.h file to avoid use of __FUNCTION__ macro
* Revert to use __FUNCTION__ instead of __FILE__
* Fix comment about metadata format
* Fix incorrect mapping of SdkLog function
* Fix typo causing LOG_METADATA_ARGS to be undefined
* Fix another bug with SdkLog macro definition
* Fix formatting
* Move mapping of SdkLog to vLoggingPrintf from logging_stack to config files
* Remove dependency of LIBRARY_LOG_NAME on LIBRARY_METADATA_* macros
* Minor improvements
Co-authored-by: Gary Wicker <14828980+gkwicker@users.noreply.github.com>
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
Only comments have changed. No code changes.
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
Co-authored-by: Gary Wicker <14828980+gkwicker@users.noreply.github.com>
* Update to the WolfSSL FIPS ready demo: Add a debug break point into the configASSERT() implementation along with a comment telling users how to update the integrity check hash if they hit the breakpoint.
* Updates in the root directory: Remove "New - Stream and Message Buffers.url" as the feature is no longer new, and edit the readme.md file as the repo now contains 'core' libraries in addition to 'FreeRTOS+' libraries.
* FreeRTOS-Plus/Source/Utilities: Add readme files and links to documentation.
* Application-Protocols: Add readme and URL links.
* Remove Index.html from the end of a URL in the readme.txt file.
* Demo-IP-Protocols: Add readme.txt files and code comments saying the protocols are not intended for production use.
* coreMQTT: Remove links to deprecated documentation, add readme and correct links to documentation.
* General: Correct URLs in source files and .url files.
* Update readme.txt
* Fix logging issue caused by using \n as the default newline character
* Update the other demos
* Fix accidentally changed NETWORK_INTERFACE
* Set \r\n as default instead
* Update sources to reflect \r\n change
* Get rid of configLOGGING_NEW_LINE altogether
Co-authored-by: abhidixi11 <44424462+abhidixi11@users.noreply.github.com>
* Fix wrong comments in shadow_demo_helpers.c
* Fix file brief description in shadow_demo_helpers.c
* Revise the comment for democonfigMQTT_BROKER_ENDPOINT
This updates the platform and logging directory and moves it to the following places:
FreeRTOS\FreeRTOS-Plus\Source\Utilities
FreeRTOS\FreeRTOS-Plus\Source\Application-Protocols\network_transport\freertos_plus_tcp
Project files are updated to follow suite. All updated demos are tested to work as expected.
printf-stdarg.c seems have to been moved by mistake when moving logging sources to a common folder.
Also, because logging.c is specific to Windows, it is moved to FreeRTOS-Plus/Demo/Common/Logging/Logging_WinSim.c.
This updates FreeRTOS-Plus/Source/Application-Protocols/platform folder based on feedback to include separate folders for tls and plaintext. In addition, the device-shadow-for-aws-iot-embedded-c submodule is renamed to device-shadow.
Because we would like to show an example of how the coreMQTT library is used without an actual timer query function, the keep-alive demo is updated to used a mocked function that always returns 0. As such, MQTT_ReceiveLoop must be passed a timeout of 0 so that it runs for exactly 1 iteration. Therefore, MQTT_ReceiveLoop is called repeatedly until an acknowledgement packet from the broker is received or the maximum iterations are reached.
- Remove unused headers in the plaintext FreeRTOS sockets wrapper
- Update MFLN even though the preceding optional configuration returned an mbedTLS error
- Remove an unused `NULL` check in a private method that is already checked by the public connect method
- Add a `NULL` check to the public disconnect method
Co-authored-by: Joseph Julicher <jjulicher@mac.com>
* deleted old version wolfSSL before updating
* updated wolfSSL to the latest version(v4.4.0)
* updated wolfSSL to the latest version(v4.4.0)
* added macros for timing resistance
* Add wolfSSL-FIPS-Ready to Demo and Source
* Add wolfSSL-FIPS-Ready to Demo and Source
* Update README_wolfSSL_FIPS_Ready.md
* Remove unused files
* Update to wolfSSL-4.5.0-FIPS-Ready
* Increase FIPS version number for the default
* Update wolfSSL to the latest version(v.4.5.0)
* Fix version number
* Fix comments from github
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
Co-authored-by: Ming Yue <mingyue86010@gmail.com>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
Co-authored-by: Alfred Gedeon <alfred2g@hotmail.com>
* Add a daemon socket listener so that the process loop will only execute if data is available on the socket.
* Set process loop timeout to 0 so that other commands do not have to wait for a process loop that isn't doing anything.
* Add an additional publisher task to show multiple tasks publishing simultaneously.
* Clarify what is meant by "synchronous" and "asynchronous" publishes.
* Fix possible race condition in task notification waits.
* Move task notification wait loop to its own function.
* The prvMQTTConnect function was doing more than just connecting, so it was split into more functions.
* Minor name changes for clarity.
* Add macros for AWS IoT metrics
This adds instructions for setting up a local Mosquitto broker on Windows for use with the coreMQTT demos. There are different instructions for mutual auth, server auth, and plaintext.
This creates a democonfigDISABLE_SNI option for the demos so that it can easily be toggled by users who are using a local MQTT broker with no hostname. However, it is and should be enabled by default whenever possible.
Fixes build warnings by making the following changes:
- Add header file for snprintf to prevent building warning in Visual Studio.
- Add for compiler warning about unused parameters.
This removes a warning involving const qualifiers. The NetworkContext_t * cannot be declared as const in TransportRecv and TransportSend because mbedtls_ssl_write and mbedtls_ssl_read require non-const pointers. Therefore, the const qualifier is removed from transport_interface.h.
As suggested, because logging_stack.h and logging_levels.h are used not only by demos but also by platform-specific transport code, it would make sense to move FreeRTOS-Plus/Demos/Common/Logging to FreeRTOS-Plus/Source/Logging. The same is done for demo_logging.c and demo_logging.h, which are duplicated by several demos. Win32.vcxproj project files are also updated to follow suite.
The mbedTLS sources used to show up in the root directory of the Visual Studio Project. This change updates WIN32.vcxproj.filters so that it appears under FreeRTOS+\mbedtls\library instead.
* Port shadow demo from product 4
* Fix coding style and formating
* Change assert to configASSERT and fix comments.
* Delete the demo task when it finish
* Relocate the shadow demo code under AWS folder.
* Fix uncrustify.
* Update FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator/Device_Shadow_Demo/DemoTasks/ShadowDemoMainExample.c
Co-authored-by: Oscar Michael Abrina <abrinao@amazon.com>
* Update FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator/Device_Shadow_Demo/DemoTasks/ShadowDemoMainExample.c
Co-authored-by: Oscar Michael Abrina <abrinao@amazon.com>
* Fix comments
* Update from comments.
Co-authored-by: Oscar Michael Abrina <abrinao@amazon.com>
* Break from potentially infinite loops in connection sharing demo
* Use QoS1 subscription for resilience against network disconnect
Co-authored-by: Oscar Michael Abrina <abrinao@amazon.com>
- Porting MQTT basic TLS demo from C-SDK.
- This demo shows the use of the managed MQTT API over a server-authenticated connection.
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
This updates submodules for coreMQTT, coreJSON, and AWS Device Shadow. Some of which contain library fixes.
* Update coreMQTT to latest commit
* Update submodules for coreJSON and AWS Device Shadow to latest commit
* Some update to the demo comments and other fixes.
- Delete the leading underscore in the milliseconds helper macros.
- Add articles to some comments.
- Add clarify to come comments.
- Delete the extraneous line endings of log statements.
- Delete unused headers in the keep-alive demo.
Co-authored-by: Oscar Michael Abrina <abrinao@amazon.com>
Some demos like MQTT plaintext, serializer, and keep alive do not use @param[in] or @param[out] and instead use @param only. This change makes it so that the style matches among all demos. In addition, because FREERTOS_CONFIG_H has no trailing underscore, CORE_MQTT_CONFIG_H_ is changed to CORE_MQTT_CONFIG_H and same for MBEDTLS_CONFIG_H_.
In addition to fixing MISRA warnings, code is updated to have complexity <= 8. Also, this adds changes from PR #313, which allows the support of simultaneous connections in the mbedTLS transport wrapper.
Co-authored-by: Muneeb Ahmed <54290492+muneebahmed10@users.noreply.github.com>
- Fix the config file header include gaurd
- Fixes comments only in the main prvMQTTDemoTask( void * pvParameters )
- Deletes unused headers.
- Check the return value of MQTT_Disconnect().
Co-authored-by: Oscar Michael Abrina <abrinao@amazon.com>
MQTT allows authentication through a username/password in the CONNECT packet. This PR allows the username/password to be passed that way through a config macro. Metrics are also collected for AWS IoT Core through a set of configurable macros that are hard coded to FreeRTOS #tskKERNEL_VERSION_NUMBER. The appropriate ALPN protocols are passed when using AWS IoT Core for username/password authentication.
* Update AbortDelay.c so it uses both vTaskDelayUntil() and xTaskDelayUntil().
Update TaskNotifyArray.c to prevent false positive test failures that appear to be caused by unwarranted integer promotion.
Add use of xTaskDelayUntil() to blocktim.c
This moves the MQTT Multitasking Demo under FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Multitask
The project files such as WIN32.vcxproj and WIN32.vcxproj.filters are updated to point to the sources and includes from the coreMQTT submodule.
No changes are made to the actual code. Only paths are updated.
Co-authored-by: Muneeb Ahmed <54290492+muneebahmed10@users.noreply.github.com>
This moves the MQTT Mutual Auth Demo under FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Mutual_Auth
The project files such as WIN32.vcxproj and WIN32.vcxproj.filters are updated to point to the sources and includes from the coreMQTT submodule.
No changes are made to the actual code. Only paths are updated.
Co-authored-by: Muneeb Ahmed <54290492+muneebahmed10@users.noreply.github.com>
Co-authored-by: SarenaAWS <6563840+sarenameas@users.noreply.github.com>
Co-authored-by: leegeth <51681119+leegeth@users.noreply.github.com>
This moves the MQTT Serializer Demo under FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Serializer.
The project files such as WIN32.vcxproj and WIN32.vcxproj.filters are updated to point to the sources and includes from the coreMQTT submodule.
No changes are made to the actual code. Only names and paths are updated.
Co-authored-by: leegeth <51681119+leegeth@users.noreply.github.com>
Co-authored-by: Muneeb Ahmed <54290492+muneebahmed10@users.noreply.github.com>
This moves the MQTT Keep-Alive Demo under FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Keep_Alive.
The project files such as WIN32.vcxproj and WIN32.vcxproj.filters are updated to point to the sources and includes from the coreMQTT submodule.
No changes are made to the actual code. Only paths are updated.
Co-authored-by: SarenaAWS <6563840+sarenameas@users.noreply.github.com>
This moves the MQTT Plaintext Demo under FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Plain_Text
The project files such as WIN32.vcxproj and WIN32.vcxproj.filters are updated to point to the sources and includes from the coreMQTT submodule.
Co-authored-by: Muneeb Ahmed <54290492+muneebahmed10@users.noreply.github.com>
Co-authored-by: leegeth <51681119+leegeth@users.noreply.github.com>
Co-authored-by: Archit Aggarwal <architag@amazon.com>
This adds coreMQTT, coreJSON, and Device Shadow as submodules to the following directories:
coreMQTT: FreeRTOS-Plus/Source/Application-Protocols/coreMQTT
coreJSON: FreeRTOS-Plus/Source/coreJSON
Device Shadow: FreeRTOS/FreeRTOS-Plus/Source/AWS/device-shadow-for-aws-iot-embedded-sdk
Platform sources and includes that are utilized by these libraries are also moved from lts-development branch to master:
FreeRTOS-Plus/Source/FreeRTOS-IoT-Libraries-LTS-Beta2/c_sdk/platform (lts-development) ->
FreeRTOS-Plus/Source/Application-Protocols/platform (master)
Co-authored-by: abhidixi11 <44424462+abhidixi11@users.noreply.github.com>
Co-authored-by: leegeth <51681119+leegeth@users.noreply.github.com>
Co-authored-by: Muneeb Ahmed <54290492+muneebahmed10@users.noreply.github.com>
Co-authored-by: Carl Lundin <53273776+lundinc2@users.noreply.github.com>
Some proofs assume that some pointers returned by malloc are not
NULL. This patch modifies those proofs to make these assumptions
explicit with `__CPROVER_assume(pointer != NULL)` for all such
pointers.
Co-authored-by: Mark R. Tuttle <mrtuttle@amazon.com>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
* Use unsigned types/constants where needed.
* Address MISRA 21.15 violations in FreeRTOS_Sockets.c
* Address MISRA rule violations in code (primarily Rule 2.2)
* Inline had been disabled for Coverity builds, preventing
Coverity from correctly identifying dead code; this change
removes the disabling of inline during Coverity builds.
* Added an explanation for the inline suppression of Rule
11.4 in prvSocketValid().
* Address MISRA Rule Violations (10.4 & 10.8)
* MISRA: Rule 21.15 changes
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
* Change type of usGenerateChecksum's ulAlignBits to intptr_t
Not all platforms have 32-bit pointers. 8-bit machines such as avr8 have
16-bit pointers.
This patch changes the type of ulAlignBits and renames it to uxAlignBits to
reflect the type change.
This fixes a compiler warning on machines with pointers that aren't
32-bits.
Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org>
* Fix usGenerateChecksum on odd-aligned buffers with non zero usSum
usGenerateChecksum would generate an incorrect checksum when pucNextData
was odd-aligned and usSum was non-zero.
This was caused by the byte order of usSum not matching the byte order of
the subsequent summing operation.
Odd-aligned buffers are common on 8-bit platforms such as avr8 when using
one of the FreeRTOS dynamic heap allocators.
Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org>
* Feedback from PR#122
https://github.com/FreeRTOS/FreeRTOS/pull/122
+ Use a uintptr_t rather than an intptr_t.
Changes supplied by Hein Tibosch.
Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
* Use unsigned types/constants where needed.
* Address MISRA 21.15 violations in FreeRTOS_Sockets.c
* Address MISRA rule violations in code (primarily Rule 2.2)
* Inline had been disabled for Coverity builds, preventing
Coverity from correctly identifying dead code; this change
removes the disabling of inline during Coverity builds.
* Added an explanation for the inline suppression of Rule
11.4 in prvSocketValid().
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
* Build: transform scons into Makefile
* Build: add Makefile dependencies
* Build: remove some tabs from Makefile
* Build: Make builds out of source, move wait for event to kernel port
* Test: update the full test to print status messages
* Build: replace lpthread with pthread
Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
* Update FreeRTOS_IP_Private.h
* Update FreeRTOS_Sockets.h
* Update FreeRTOS_DNS.c
* Correct version number
* Update version number
* Update version number
* deleted old version wolfSSL before updating
* updated wolfSSL to the latest version(v4.4.0)
* updated wolfSSL to the latest version(v4.4.0)
* added macros for timing resistance
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
Co-authored-by: Ming Yue <mingyue86010@gmail.com>
* Adding a combined +TCP driver for SAM4E and SAME70
* Changes after review from Aniruddha
Co-authored-by: Hein Tibosch <hein@htibosch.net>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
* Add fail-safes to FreeRTOS_Socket.c
* Use all 'pd' errors
* Correction after Hein's comments
* Correction after Hein's comments v2
* Changes after Hein's comments
* Update after Gary's comments
* Add TaskNotifyArray.c with the single task tests updated to use the task notification array up to the point where the timer is created.
* Continue working on TaskNotifyArray.c to test the new task notification indexes. Next TaskNotifyArray.c will be refactored to break the tests up a bit.
* Refactor and update the comments in TaskNotifyArray.c - no functional changes.
* Change from the task notify "array" to task notification "indexed" nomenclature in the new task notification API functions that work on one particular task notification with the array of task notifications.
* Update the implementation of the taskNOTIFY_TAKE() and taskNOTIFY_WAIT() trace macros to take the array index of the task notification they are acting on.
Rename configNUMBER_OF_TASK_NOTIFICATIONS to configTASK_NOTIFICATION_ARRAY_ENTRIES.
Add FreeRTOS/Demo/Common/Minimal/TaskNotifyArray.c to the Visual Studio project - the file implements tests specific to the behaviour of the indexed task notification functions and should be used in addition to the tests already provided in FreeRTOS/Demo/Common/Minimal/TaskNotify.c.
- removed (void) from before memcpy, memset etc.
- corrected memcpy style as suggested by Yuhui
- Added logging for xNetworkInterfaceOutput. No need to configASSERT