Version 3.05.xx

Version 3.05.04

Release Date

December 17th, 2019

Requirements

  • µC/CPU V1.30.00

  • µC/LIB V1.38.00

  • µC/Common V1.01.00

New Features & Improvements

  • (769) NetApp_ClientStreamOpenByHostname() now attempts to connect to all IP addresses returned by the DNS resolution before considering a failure.

 

Bugfixes

  • (766) Removed the inclusion of emSSL hardware header file from net_secure_emssl.c as it caused compilation errors in the absence of the HW folder.
  • (768) emSSL port needed to use uC/LIB's Math_Rand() function in the absence of a hardware RNG.
  • (781) A call from an application to NetSock_CfgSecureClientTrustCallBack() before a secure connection has been established caused the emSSL port to de-reference an illegal pointer in NetSecure_ClientTrustCallBackSet().
  • (782) NetIF_Start() overwrote the 'p_err' parameter causing the incorrect error code to be returned.
  • (795) NetTCP_TxConnReTxQ(), NetTCP_TxConnProbe(), NetTCP_TxConnSync(), and NetTCP_TxConnAppData() all returned the incorrect error when a connection object associated with the TCP connection has an invalid protocol family.
  • (796) If a connection was in progress over a non-blocking socket and a [RST] was received, the stack still deemed the connection as being in progress until the retransmission threshold for that [SYN] segment was reached even though the remote host had rejected the connection attempt.
  • (798) Local variable "shutdown_wr" was uninitialized in NetSock_TxDataHandlerStream() causing some connections to be unpredictably closed.

 

Version 3.05.03

Release Date

September 20th, 2019

Requirements

  • µC/CPU V1.30.00

  • µC/LIB V1.38.00

  • µC/Common V1.01.00

New Features & Improvements

  • getnameinfo() can now handle the AF_INET6 address family.
  • getaddrinfo() can now properly resolve canonical names directly from the DNS server's answer. We were incorrectly copying the string in 'p_node_name' onto 'p_addrinfo->ai_canonname' before.
  • Both these API now handle the status returned by DNSc_GetHost() when the DNS Task is enabled (blocking or otherwise), which redefined how the EAI_SYSTEM and EAI_AGAIN return values were previously interpreted.

Bugfixes

  • (636)         NET_IF_NBR_BASE_CFGD should have been defined to 0 if the loopback interface is enabled.
  • (643)         Added curly braces to 'if' block in NetTCP_RxPktConnHandler().
  • (645)         NetSock_OptGet() did not check if the connection is valid when handling a stream socket.
  • (654)         Fixed static analysis warning thrown because in net_util.h and net_ctr.h contained function-like macros with missing parentheses in their parameters (MISRA-C 2012 R.20.7).
  • (656)         Fixed static analysis warning thrown because the 'sock_id' loop counter in NetSock_Sel() was being modified within the loop. (MISRA-C 2004 R.13.6)
  • (658)         Fixed static analysis warning thrown because certain functions throughout the stack contained 'if/else-if' statements that were NOT terminated with an 'else' or an empty 'else' clause. (MISRA-C 2004 R.14.10).
  • (661)         Fixed "Include guard is not provided" warnings. (MISRA-C 2004 R.19.15).
  • (663, 719) Fixed "Operand in a logical 'and' or 'or' expression is not a primary expression" warnings. (MISRA-C 2004 R.12.5)
  • (666)         Fixed "No break or throw statement at the end of switch-clause" warning in the shutdown() BSD function. (MISRA-C 2004 R.15.2)
  • (669)         Fixed "No default clause at the end of a switch statement" warning. (MISRA-C 2004 R.15.3)
  • (672)         Fixed "Pointer 'p_sock' returned from call to function 'NetSock_GetObj' at line 2113 may be NULL and will be dereferenced at line 2114" warning in shutdown() function.
  • (677, 721) Fixed unused variable warnings.
  • (718)         NetBSD_AddrCfgValidate() checked the wrong parameter for the IPv6 case: 'p_ipv4_cfgd' was changed to 'p_ipv6_cfgd'.
  • (742)         NetASCII_Str_to_IP() could NOT tell the difference between a string representation of an IPv4 address ("192.168.1.100") and a URL ("www.micrium.com") due to the presence of the '.' separator character in both inputs. The incorrect IP address family was being returned as a result; the URL input now returns NET_IP_ADDR_FAMILY_UNKNOWN instead of the incorrect NET_IP_ADDR_FAMILY_IPv4.
  • (755)         NetIPv4_RxPktValidateOpt() mishandled unknown IP options causing an infinite loop if the option length of the unknown (or unsupported) IP option evaluated to 0. 

Version 3.05.02 (Hotfix)

Release Date

July 23rd, 2019

Requirements

  • µC/CPU V1.30.00

  • µC/LIB V1.38.00

  • µC/Common V1.01.00

Bugfixes

  • (702) Fixed socket leak in NetSock_Close() that occurred when closing a non-blocking socket that had been shutdown in the write direction.

Version 3.05.01

Release Date

June 21st, 2019

Requirements

  • µC/CPU V1.30.00

  • µC/LIB V1.38.00

  • µC/Common V1.01.00

New Features

  • (464) Added getnameinfo() BSD API

Improvements

  • (644) Moved Offload Configuration defines out of the comment blocks in net_cfg.h

Bugfixes

  • (611) Fixed issue where the safety check for ARP buffer threshold was not taking into account small transmit buffers
  • (640) Updated calls to DNSc_GetHost() in net_app.c to reflect new API changes in uC/DNSc
  • (680) Fixed issue where shutdown() wasn't working properly in the SHUT_WR mode
  • (626) NetSock_RxPktDemux() now updates the .IF_Nbr field of the UDP "connections" to equal the interface number indicated by the received buffer's header.
  • (685) Fixed bug with NetSock_ConnHandlerStreamWait() that caused NetSock_Conn() to return a successful value of 0 if the socket was configured as non-blocking
              and the connection attempt did not complete atomically. Now it returns -1.

Version 3.05.00

Release Date

March 22nd, 2019

Requirements

  • µC/CPU V1.30.00

  • µC/LIB V1.38.00

  • µC/Common V1.01.00

New Features

  • (467) New GEM driver variant: 64-bit bus width + 32-bit processor
  • (527) ETHMAC Ethernet driver (STM32H7)
  • (571) Support for Segger emSSL without mutual authentication.
  • (578) KSZ9031RNX PHY support

Improvements

  • (467) TCP Keep-alive timeout now counts down from new value when socket is reconfigured to use the NET_SOCK_OPT_SOCK_KEEP_ALIVE option at run time
  • (585) Split the Altera TSE driver into two version: ARM and NiosII

Bugfixes

  • (545) Fixed issue in Altera TSE driver misusing the NIOS IOWR_ALTERA_AVALON_SGDMA_CONTROL API
  • (570) Fixed bug where 'p_err' was being checked twice after call to NetSecure_SockCertKeyCfg() in NetSock_CfgSecureClientCertKey()
  • (574) Fixed bug that occurred while searching for an interface's link subscriber function in its link subscriber list and reach the end of the list without finding one.
  • (575) Changed NetSock_CfgSecureClientCertKey()'s signature so that both its 'p_cert' and 'p_key' parameters are declared as 'const void *'
  • (591) Fixed issue when clearing SockSelPendingFlags in NetSock_Clr() that could potentially cause a mem fault

Deprecation

  • (571) Mocana SSL has now been replaced by Segger's emSSL.