Skip to content

V4.2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Jun 11:47
· 0 commits to e512b5cc306b491893743ae2e151ccdf76f9b475 since this release

Changes between FreeRTOS-plus-TCP V4.2.0 and V4.1.0 released June 24, 2024:

  • It was possible for a carefully crafted DNS response with domain name
    length value greater than the actual domain name length, to cause a buffer
    over-read within the DNS Response Parser. This issue affects applications
    using DNS functionality of the FreeRTOS-Plus-TCP stack.
    Applications that do not use DNS functionality are not affected,
    even when the DNS functionality is enabled.
    This issue has been fixed by modifying the code to ensure that the DNS
    Response Parser never attempts to read beyond the DNS
    response buffer boundary.
    We would like to thank Paschal Amusuo, James C. Davis, and
    Aravind Machiry of Purdue University, for reporting this issue.
  • Fixed possible freed memory being reused while creating TCP sockets.
    We thank @htibosch for their contribution.
  • Fixed possible NULL pointer dereference in TCP transmission.
    We thank @anordal for their contribution.
  • Added network interface port for ARM Corstone-315 (MPS4_CS315).
    We thank @david-hazi-arm for their contribution.
  • Fixed MISRA C 2012 issues in the code
  • Replaced the usage strcpy with strncpy
  • Improved memory allocation failure handling in vDNSSetCallBack by
    propagating error signal back. We thank @hlef for reporting this issue.
  • Improved memory allocation failure handling in prvCreateSectors by
    propagating error signal back. We thank @hlef for reporting this issue.
  • Enabled build on CI with sanitizers, fixed all AddressSanitizer
    and UB-Sanitizer errors. We thank @anordal for their contribution.
  • Fixed mDNS lookups while parsing the mDNS answers.
    We thank @htibosch for their contribution.
  • Fixed DNS name resolution responses when the device IP address
    is 0.0.0.0. We thank @evpopov for their contribution.
  • Avoided FreeRTOS-Plus-TCP forcing to use the compilation options
    set in the library CMake project in user projects.
    We thank @apcountryman for their contribution.
  • Enabled user control of compiler analysis for non ISO statements.
    We thank @thirtytwobits for their contribution
  • Fixed use of removed macro in ATSAME5x network interface.
    We thank @apcountryman for their contribution.
  • Fixed inconsistent use of ipconfigCOMPATIBLE_WITH_SINGLE
    & ipconfigIPv4_BACKWARD_COMPATIBLE
  • Resolved Unit Test Build Warnings
  • Added network interface functions for multicast MAC address filtering.
    We thank @evpopov for their contribution.
  • Fixed missing ipconfigUSE_DNS_CACHE check in FreeRTOS_DNS.c.
  • Avoided compiler warnings about the printf formats in IPv6 modules.
    We thank @htibosch for their contribution.
  • Removed deprecated macro ipconfigMULTI_INTERFACE.
    We thank @HTRamsey for their contribution.
  • Removed unused function xProcessedTCPMessage.
    We thank @HTRamsey for their contribution.
  • Removed deprecated macros ipLOCAL_MAC_ADDRESS and
    ipLOCAL_IP_ADDRESS_POINTER. We thank @HTRamsey for their contribution.
  • Fixed eARPGetCacheEntryGateWay to properly report when no valid gateway is found
    for a packet that needs to be sent outside the local network.
    We thank @evpopov for their contribution.
  • Combined duplicated IPv4/IPv6 TCP code.
    We thank @HTRamsey for their contribution.
  • Improved validation of configuration macros in the default
    IP config using static compile time checks.
    We thank @HTRamsey for their contribution.
  • Repaired ARP unit tests which were accessing packet memory
    outside of allocated bounds.
  • Moved CMake compile options to test builds to avoid build issues in
    user projects that might be not be supporting compiler options used
    in the original Cmake. We thank @apcountryman for their contribution.
  • Cleaned up CMake by adding: additional unit tests, incorporating missing
    network interface support, removing unused "config files" that are no longer
    required, and fixing file name issues in the unit testing framework.
    We thank @HTRamsey for their contribution.