@ -328,12 +328,9 @@ static int32_t setCredentials( SSLContext_t * pSslContext,
mbedtls_ssl_conf_cert_profile ( & ( pSslContext - > config ) ,
mbedtls_ssl_conf_cert_profile ( & ( pSslContext - > config ) ,
& ( pSslContext - > certProfile ) ) ;
& ( pSslContext - > certProfile ) ) ;
if ( pNetworkCredentials - > pRootCa ! = NULL )
{
mbedtlsError = setRootCa ( pSslContext ,
mbedtlsError = setRootCa ( pSslContext ,
pNetworkCredentials - > pRootCa ,
pNetworkCredentials - > pRootCa ,
pNetworkCredentials - > rootCaSize ) ;
pNetworkCredentials - > rootCaSize ) ;
}
if ( ( pNetworkCredentials - > pClientCert ! = NULL ) & &
if ( ( pNetworkCredentials - > pClientCert ! = NULL ) & &
( pNetworkCredentials - > pPrivateKey ! = NULL ) )
( pNetworkCredentials - > pPrivateKey ! = NULL ) )
@ -405,8 +402,7 @@ static void setOptionalConfigurations( SSLContext_t * pSslContext,
/* Set Maximum Fragment Length if enabled. */
/* Set Maximum Fragment Length if enabled. */
# ifdef MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
# ifdef MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
if ( 0 = = mbedtlsError )
{
/* Enable the max fragment extension. 4096 bytes is currently the largest fragment size permitted.
/* Enable the max fragment extension. 4096 bytes is currently the largest fragment size permitted.
* See RFC 8449 https : //tools.ietf.org/html/rfc8449 for more information.
* See RFC 8449 https : //tools.ietf.org/html/rfc8449 for more information.
*
*
@ -420,9 +416,7 @@ static void setOptionalConfigurations( SSLContext_t * pSslContext,
mbedtlsHighLevelCodeOrDefault ( mbedtlsError ) ,
mbedtlsHighLevelCodeOrDefault ( mbedtlsError ) ,
mbedtlsLowLevelCodeOrDefault ( mbedtlsError ) ) ) ;
mbedtlsLowLevelCodeOrDefault ( mbedtlsError ) ) ) ;
}
}
}
# endif /* ifdef MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */
# endif
}
}
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
@ -671,15 +665,17 @@ TlsTransportStatus_t TLS_FreeRTOS_Connect( NetworkContext_t * pNetworkContext,
/* Clean up on failure. */
/* Clean up on failure. */
if ( returnStatus ! = TLS_TRANSPORT_SUCCESS )
if ( returnStatus ! = TLS_TRANSPORT_SUCCESS )
{
if ( pNetworkContext ! = NULL )
{
{
sslContextFree ( & ( pNetworkContext - > sslContext ) ) ;
sslContextFree ( & ( pNetworkContext - > sslContext ) ) ;
if ( ( pNetworkContext ! = NULL ) & &
if ( pNetworkContext - > tcpSocket ! = FREERTOS_INVALID_SOCKET )
( pNetworkContext - > tcpSocket ! = FREERTOS_INVALID_SOCKET ) )
{
{
( void ) FreeRTOS_closesocket ( pNetworkContext - > tcpSocket ) ;
( void ) FreeRTOS_closesocket ( pNetworkContext - > tcpSocket ) ;
}
}
}
}
}
else
else
{
{
LogInfo ( ( " (Network connection %p) Connection to %s established. " ,
LogInfo ( ( " (Network connection %p) Connection to %s established. " ,
@ -695,6 +691,8 @@ void TLS_FreeRTOS_Disconnect( NetworkContext_t * pNetworkContext )
{
{
BaseType_t tlsStatus = 0 ;
BaseType_t tlsStatus = 0 ;
if ( pNetworkContext ! = NULL )
{
/* Attempting to terminate TLS connection. */
/* Attempting to terminate TLS connection. */
tlsStatus = ( BaseType_t ) mbedtls_ssl_close_notify ( & ( pNetworkContext - > sslContext . context ) ) ;
tlsStatus = ( BaseType_t ) mbedtls_ssl_close_notify ( & ( pNetworkContext - > sslContext . context ) ) ;
@ -729,6 +727,7 @@ void TLS_FreeRTOS_Disconnect( NetworkContext_t * pNetworkContext )
/* Free mbed TLS contexts. */
/* Free mbed TLS contexts. */
sslContextFree ( & ( pNetworkContext - > sslContext ) ) ;
sslContextFree ( & ( pNetworkContext - > sslContext ) ) ;
}
/* Clear the mutex functions for mbed TLS thread safety. */
/* Clear the mutex functions for mbed TLS thread safety. */
mbedtls_threading_free_alt ( ) ;
mbedtls_threading_free_alt ( ) ;