Use MbedTLS 3.5.1 and Add TLS 1.3 Support to WinSim Demos (#1135)

* Bump up to MBed-TLS V3.5.1, make changes to Visual Studio Projects to account for this.
* Update MBedTLS Transport files to call psa_crypto_init() if the MBEDTLS_PSA_CRYPTO_C is set.
* Add WIN32_LEAN_AND_MEAN to the corePKCS11_MQTT_Mutual_Auth_Windows_Simulator demo. Add in a check for MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET when making a TLS handshake.
* Change transport interface files from using void * to mbedtls_pk_context * instead per changes in the MbedTLS API.
* Changes to Fleet Provisioning Demo and Demo Setup to use ECDSA keys
* Remove non-32 bit configs from various VisualStudio Projects. Enforce all projects using WIN32_LEAN_AND_MEAN as well as winsock2.h
pull/1136/head^2
Soren Ptak 1 year ago committed by GitHub
parent 4bad7a6ba4
commit 6b513cb1a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,4 +1,3 @@
A A
AADLENR AADLENR
AAIC AAIC
@ -100,6 +99,7 @@ AEEVT
AEIE AEIE
AERR AERR
AESCCM AESCCM
AESCE
AESCMAC AESCMAC
AESNI AESNI
AESR AESR
@ -1567,6 +1567,7 @@ FERR
FESETERR FESETERR
FESR FESR
FFCR FFCR
FFDH
FFDHE FFDHE
FFDR FFDR
FFER FFER
@ -2233,6 +2234,7 @@ JKJKJKJK
JKKKKKKK JKKKKKKK
JNCH JNCH
JOFR JOFR
JPAKE
JSQR JSQR
JSWSTRT JSWSTRT
JTAG JTAG
@ -5271,6 +5273,7 @@ addif
addiu addiu
adge adge
aeevt aeevt
aesce
aesni aesni
alldevs alldevs
ambig ambig
@ -5592,6 +5595,7 @@ lusecs
lxip lxip
macaddrhr macaddrhr
macaddrlr macaddrlr
maes
maxiosz maxiosz
maxnpacks maxnpacks
mbar mbar
@ -5641,6 +5645,7 @@ movne
movs movs
movw movw
movx movx
mpclmul
mpcr mpcr
mqdes mqdes
mqttexample mqttexample
@ -5650,6 +5655,7 @@ mret
mrru mrru
mrseq mrseq
mrsne mrsne
msse
mspgcc mspgcc
msplim msplim
msreq msreq

@ -258,7 +258,7 @@ FREERTOS_IGNORED_EXTENSIONS = [
FREERTOS_IGNORED_PATTERNS = [ FREERTOS_IGNORED_PATTERNS = [
r'.*\.git.*', r'.*\.git.*',
r'.*mbedtls_config\.h.*', r'.*mbedtls_config*',
r'.*CMSIS.*', r'.*CMSIS.*',
r'.*/Nordic_Code/*', r'.*/Nordic_Code/*',
r'.*/Nuvoton_Code/*', r'.*/Nuvoton_Code/*',
@ -328,9 +328,6 @@ FREERTOS_IGNORED_FILES = [
'cspell.config.yaml', 'cspell.config.yaml',
'.cproject', '.cproject',
'.project', '.project',
'fyi-another-way-to-ignore-file.txt',
'mbedtls_config.h',
'mbedtls_config_v3.2.1.h',
'requirements.txt', 'requirements.txt',
'run-cbmc-proofs.py', 'run-cbmc-proofs.py',
'.editorconfig', '.editorconfig',

@ -158,6 +158,7 @@ jobs:
- env: - env:
stepName: Install Dependencies stepName: Install Dependencies
run: | run: |
# ${{ env.stepName }}
echo -e "::group::${{ env.stepName }}" echo -e "::group::${{ env.stepName }}"
git submodule update --init --checkout --recursive --depth 1 git submodule update --init --checkout --recursive --depth 1
sudo apt-get update sudo apt-get update

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -33,27 +21,6 @@
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture> <PreferredToolArchitecture>x86</PreferredToolArchitecture>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -62,85 +29,20 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\AWS\device-defender\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\AWS\device-defender\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\AWS\device-defender\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="medtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\AWS\device-defender\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\AWS\device-defender\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>

@ -390,7 +390,7 @@ static BaseType_t prvWaitForDeleteResponse( MQTTContext_t * pxMQTTContext )
/* Event callback will set #xDeleteResponseReceived when receiving an /* Event callback will set #xDeleteResponseReceived when receiving an
* incoming publish on either `/delete/accepted` or `/delete/rejected` * incoming publish on either `/delete/accepted` or `/delete/rejected`
* Shadow topics. */ * Shadow topics. */
xMQTTStatus = MQTT_ProcessLoop( pxMQTTContext, MQTT_PROCESS_LOOP_TIMEOUT_MS ); xMQTTStatus = MQTT_ProcessLoop( pxMQTTContext );
} }
if( ( xMQTTStatus != MQTTSuccess ) || ( xDeleteResponseReceived != pdTRUE ) ) if( ( xMQTTStatus != MQTTSuccess ) || ( xDeleteResponseReceived != pdTRUE ) )

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -33,27 +21,6 @@
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture> <PreferredToolArchitecture>x86</PreferredToolArchitecture>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -62,85 +29,20 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\device-shadow\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\device-shadow\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\device-shadow\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\device-shadow\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\device-shadow\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>

@ -6,11 +6,16 @@ from cryptography import x509
from cryptography.hazmat.backends import default_backend from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives import serialization
KEY_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Key.dat" # Get the absolute path of this script
CERT_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Certificate.dat"
script_file_dir_abs_path = os.path.abspath(os.path.dirname(__file__)) script_file_dir_abs_path = os.path.abspath(os.path.dirname(__file__))
# Get the parent directory, as that is where the demo expects the keys to be placed
parent_abs_path = os.path.abspath(os.path.join(script_file_dir_abs_path, os.pardir))
KEY_OUT_NAME = os.path.join(parent_abs_path, 'corePKCS11_Claim_Key.dat')
CERT_OUT_NAME = os.path.join(parent_abs_path, 'corePKCS11_Claim_Certificate.dat')
def convert_pem_to_der(cert_pem, key_pem): def convert_pem_to_der(cert_pem, key_pem):
# Convert certificate from PEM to DER # Convert certificate from PEM to DER
key = serialization.load_pem_private_key( key = serialization.load_pem_private_key(
@ -22,19 +27,16 @@ def convert_pem_to_der(cert_pem, key_pem):
) )
with open(f"{KEY_OUT_NAME}", "wb") as key_out: with open(f"{KEY_OUT_NAME}", "wb") as key_out:
key_out.write(key_der) key_out.write(key_der)
print(
f"Successfully converted key PEM to DER. Output file named: {KEY_OUT_NAME}" print(f"Successfully converted key PEM to DER. Output file named:\n\t{KEY_OUT_NAME}")
)
cert = x509.load_pem_x509_certificate( cert = x509.load_pem_x509_certificate(
bytes(cert_pem, "utf-8"), default_backend()) bytes(cert_pem, "utf-8"), default_backend())
with open(f"{CERT_OUT_NAME}", "wb") as cert_out: with open(f"{CERT_OUT_NAME}", "wb") as cert_out:
cert_out.write(cert.public_bytes(serialization.Encoding.DER)) cert_out.write(cert.public_bytes(serialization.Encoding.DER))
print( print(f"Successfully converted certificate PEM to DER. Output file named:\n\t{CERT_OUT_NAME}")
f"Successfully converted certificate PEM to DER. Output file named: {CERT_OUT_NAME}"
)
def main(args): def main(args):
with open(args.cert_file, "r") as cert: with open(args.cert_file, "r") as cert:

@ -5,12 +5,12 @@ import boto3
import botocore import botocore
import argparse import argparse
KEY_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Key.dat" KEY_OUT_NAME = os.path.join(os.getcwd(), "corePKCS11_Claim_Key.dat")
CERT_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Certificate.dat" CERT_OUT_NAME = os.path.join(os.getcwd(), "corePKCS11_Claim_Certificate.dat")
THING_PRIVATE_KEY_NAME = f"{os.getcwd()}\\corePKCS11_Key.dat" THING_PRIVATE_KEY_NAME = os.path.join(os.getcwd(), "corePKCS11_Key.dat")
THING_PUBLIC_KEY_NAME = f"{os.getcwd()}\\corePKCS11_PubKey.dat" THING_PUBLIC_KEY_NAME = os.path.join(os.getcwd(), "corePKCS11_PubKey.dat")
THING_CERT_NAME = f"{os.getcwd()}\\corePKCS11_Certificate.dat" THING_CERT_NAME = os.path.join(os.getcwd(), "corePKCS11_Certificate.dat")
RESOURCE_STACK_NAME = "FPDemoStack" RESOURCE_STACK_NAME = "FPDemoStack"

@ -4,17 +4,98 @@ import os
import argparse import argparse
import boto3 import boto3
import botocore import botocore
import random
import datetime
import subprocess
from cryptography import x509
from cryptography.x509.oid import NameOID
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import ec
from generate_credentials import generate_priv_keys_and_certs
from convert_credentials_to_der import convert_pem_to_der from convert_credentials_to_der import convert_pem_to_der
KEY_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Key.dat"
CERT_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Certificate.dat"
RESOURCE_STACK_NAME = "FPDemoStack" RESOURCE_STACK_NAME = "FPDemoStack"
script_file_dir_abs_path = os.path.abspath(os.path.dirname(__file__)) script_file_dir_abs_path = os.path.abspath(os.path.dirname(__file__))
cf = boto3.client("cloudformation") cf = boto3.client("cloudformation")
iot = boto3.client("iot") iot = boto3.client("iot")
# Generate IoT credentials in DER format and save them in the demo directory
def create_credentials():
print("Creating Certs and Credentials for the Fleet Provisioning Demo...")
# Verify that the stack exists (create_resources has been ran before somewhere)
stack_response = get_stack()
if stack_response == "STACK_NOT_FOUND":
raise Exception(
f"CloudFormation stack \"{RESOURCE_STACK_NAME}\" not found.")
elif stack_response["StackStatus"] != "CREATE_COMPLETE":
print("Error: Stack was not successfully created. View the stack in the CloudFormation console here:")
stack_link = convert_cf_arn_to_link(stack_response["StackId"])
raise Exception(
"Stack was not successfully created. View the stack in the CloudFormation console here:\n" + stack_link)
# Generate an ECDSA CA cert, and a ECDSA Cert and key to use for device provisioning
root_ca_cert, claim_cert = generate_priv_keys_and_certs(write_der_keys=True)
if ( root_ca_cert is None ) or ( claim_cert is None ):
raise Exception(f"Failed to generate needed ECDSA Keypairs and Certificates")
ca_cert_response = iot.register_ca_certificate(
caCertificate=root_ca_cert,
setAsActive=True,
allowAutoRegistration=True,
certificateMode='SNI_ONLY'
)
if "certificateArn" not in ca_cert_response.keys():
raise Exception( "Failed to register the generated ECDSA CA Certificate" )
else:
print("\nRegistered CA Cert\n\tARN:{0}\n\tCertID:{1}"
.format(
ca_cert_response["certificateArn"],
ca_cert_response["certificateId"]
)
)
claim_cert_response = iot.register_certificate(
certificatePem=claim_cert,
caCertificatePem=root_ca_cert,
status='ACTIVE'
)
if "certificateArn" not in claim_cert_response.keys():
raise Exception(
"Failed to register the generate CA Certificate"
)
else:
print("\nRegistered Claim Cert\n\tARN:{0}\n\tCertID:{1}"
.format(
claim_cert_response["certificateArn"],
claim_cert_response["certificateId"]
)
)
iot.attach_policy(policyName="CF_FleetProvisioningDemoClaimPolicy",
target=claim_cert_response["certificateArn"])
# Set the necessary fields in demo_config.h
def update_demo_config():
print("Updating the demo config for the Fleet Provisioning Demo...")
endpoint = iot.describe_endpoint(endpointType='iot:Data-ATS')
template_file = open(f"{script_file_dir_abs_path}/demo_config.templ", 'r')
file_text = template_file.read()
file_text = file_text.replace(
"<IOTEndpoint>", "\"" + endpoint["endpointAddress"] + "\"")
header_file = open(f"{script_file_dir_abs_path}/../demo_config.h", "w")
header_file.write(file_text)
header_file.close()
template_file.close()
print("Successfully updated demo_config.h")
# Convert a CloudFormation arn into a link to the resource # Convert a CloudFormation arn into a link to the resource
def convert_cf_arn_to_link(arn): def convert_cf_arn_to_link(arn):
region = arn.split(":")[3] region = arn.split(":")[3]
@ -43,8 +124,11 @@ def create_resources():
stack_response["StackStatus"]) stack_response["StackStatus"])
print() print()
if stack_response["StackStatus"] != "CREATE_COMPLETE": if stack_response["StackStatus"] != "CREATE_COMPLETE":
raise Exception("Fleet Provisioning resource stack failed to create successfully. You may need to delete the stack and retry." raise Exception(
+ "\nView the stack in the CloudFormation console here:\n" + convert_cf_arn_to_link(stack_response["StackId"])) "Fleet Provisioning resource stack failed to create successfully. " +
"You may need to delete the stack and retry. " +
"\nView the stack in the CloudFormation console here:\n " +
convert_cf_arn_to_link(stack_response["StackId"]))
else: else:
# Read the cloudformation template file contained in the same directory # Read the cloudformation template file contained in the same directory
cf_template_file = open(f"{script_file_dir_abs_path}/cloudformation_template.json", "r") cf_template_file = open(f"{script_file_dir_abs_path}/cloudformation_template.json", "r")
@ -70,43 +154,6 @@ def create_resources():
"Error: Stack creation failed. You may need to delete_all and try again.") "Error: Stack creation failed. You may need to delete_all and try again.")
raise raise
# Generate IoT credentials in DER format and save them in the demo directory
def create_credentials():
# Verify that the stack exists (create_resources has been ran before somewhere)
stack_response = get_stack()
if stack_response == "STACK_NOT_FOUND":
raise Exception(
f"CloudFormation stack \"{RESOURCE_STACK_NAME}\" not found.")
elif stack_response["StackStatus"] != "CREATE_COMPLETE":
print("Error: Stack was not successfully created. View the stack in the CloudFormation console here:")
stack_link = convert_cf_arn_to_link(stack_response["StackId"])
raise Exception(
"Stack was not successfully created. View the stack in the CloudFormation console here:\n" + stack_link)
else:
credentials = iot.create_keys_and_certificate(setAsActive=True)
iot.attach_policy(policyName="CF_FleetProvisioningDemoClaimPolicy",
target=credentials["certificateArn"])
convert_pem_to_der(
credentials["certificatePem"], credentials["keyPair"]["PrivateKey"])
# Set the necessary fields in demo_config.h
def update_demo_config():
endpoint = iot.describe_endpoint(endpointType='iot:Data-ATS')
template_file = open(f"{script_file_dir_abs_path}/demo_config.templ", 'r')
file_text = template_file.read()
file_text = file_text.replace(
"<IOTEndpoint>", "\"" + endpoint["endpointAddress"] + "\"")
header_file = open(f"{script_file_dir_abs_path}/../demo_config.h", "w")
header_file.write(file_text)
header_file.close()
template_file.close()
print("Successfully updated demo_config.h")
# Get arguments # Get arguments
def get_args(): def get_args():
parser = argparse.ArgumentParser(description="Fleet Provisioning Demo setup script.") parser = argparse.ArgumentParser(description="Fleet Provisioning Demo setup script.")
@ -116,16 +163,29 @@ def get_args():
# Parse arguments and execute appropriate functions # Parse arguments and execute appropriate functions
def main(): def main():
# Check arguments and go appropriately # Check arguments and go appropriately
args = get_args(); args = get_args();
print("\nThis script will set up the AWS resources required for the Fleet Provisioning demo.") print("\nThis script will set up the AWS resources required for the Fleet Provisioning demo.")
print("It may take several minutes for the resources to be provisioned.") print("It may take several minutes for the resources to be provisioned.")
if args.force or input("Are you sure you want to do this? (y/n) ") == "y": if args.force or input("Are you sure you want to do this? (y/n) ") == "y":
print() print("\n---------------------- Start Create Cloud Stack Resources ----------------------\n")
create_resources() create_resources()
print("\n----------------------- End Create Cloud Stack Resources -----------------------\n")
print("\n-------------------------- Start Creating Credentials --------------------------\n")
create_credentials() create_credentials()
print("\n--------------------------- End Creating Credentials ---------------------------\n")
print("\n--------------------------- Start Update Demo Config ---------------------------\n")
update_demo_config() update_demo_config()
print("\nFleet Provisioning demo setup complete. Ensure that all generated files (key, certificate, demo_config.h) are in the same folder as \"fleet_provisioning_demo.sln\".") print("\n---------------------------- End Update Demo Config ----------------------------\n")
print(
"Fleet Provisioning demo setup complete. Ensure that all generated files " +
"(key, certificate, demo_config.h) are in the same folder as " +
"\"fleet_provisioning_demo.sln\"."
)
if __name__ == "__main__": if __name__ == "__main__":

@ -0,0 +1,199 @@
#!/usr/bin/env python
import os
import argparse
import random
import datetime
import subprocess
from cryptography import x509
from cryptography.x509.oid import NameOID
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import ec
# Helper scripts from this directory
from convert_credentials_to_der import convert_pem_to_der
script_file_dir_abs_path = os.path.abspath(os.path.dirname(__file__))
# File names for generated credentials
ROOT_CA_PRIV_KEY_FILE = f"{script_file_dir_abs_path}{os.sep}ECDSA_root_priv_key.pem"
ROOT_CA_PUB_KEY_FILE = f"{script_file_dir_abs_path}{os.sep}ECDSA_root_pub_key.pem"
ROOT_CA_CERT_FILE = f"{script_file_dir_abs_path}{os.sep}ECDSA_root_ca_cert.pem"
CLAIM_PRIV_KEY_FILE = f"{script_file_dir_abs_path}{os.sep}ECDSA_claim_priv_key.pem"
CLAIM_PUB_KEY_FILE = f"{script_file_dir_abs_path}{os.sep}ECDSA_claim_pub_key.pem"
CLAIM_CERT_FILE = f"{script_file_dir_abs_path}{os.sep}ECDSA_claim_device_cert.pem"
# Use the current date and time to create a unique subject name
now = datetime.datetime.now()
dt_string = now.strftime("%d_%m_%Y_%H_%M_%S")
# Default values for the CA cert
subject = issuer = x509.Name([
x509.NameAttribute(NameOID.COUNTRY_NAME, "US"),
x509.NameAttribute(NameOID.STATE_OR_PROVINCE_NAME, "FP_State"),
x509.NameAttribute(NameOID.LOCALITY_NAME, "FP_Locality"),
x509.NameAttribute(NameOID.ORGANIZATION_NAME, "FP_Organization"),
x509.NameAttribute(NameOID.COMMON_NAME, f'FP_CN_{dt_string}'),
])
# Simple check of the generated keys.
# Documentation says if the operations fail an exception is thrown.
# https://cryptography.io/en/latest/hazmat/primitives/asymmetric/ec/#cryptography.hazmat.primitives.asymmetric.ec.ECDSA
def validate_keys(private_key, public_key):
# Verify the generated keys work correctly by signing a message and then verifying it
data = b"TEST DATA TO SIGN"
# Sign the above message using the private key
signature = private_key.sign(
data,
ec.ECDSA(hashes.SHA256())
)
# Verify the signature using the public key
public_key.verify(
signature,
data,
ec.ECDSA(hashes.SHA256())
)
def generate_priv_keys_and_certs(write_der_keys):
print("Generating ECDSA Root Keys\n")
# Generate an ECDSA Key Pair
# NOTE: At time of writing corePKCS11 only supports the prime256v1/secp256r1 keys
# If this changes then these keys should be changed to use a better alg.
root_prv_key = ec.generate_private_key(
ec.SECP256R1()
)
# Get the related public key
root_pub_key = root_prv_key.public_key()
validate_keys(
private_key = root_prv_key,
public_key = root_pub_key
)
# Now that the public and private key have been validated, create a x509 Cert
root_ca_cert = x509.CertificateBuilder().subject_name(
subject
).issuer_name(
issuer
).public_key(
root_pub_key
).serial_number(
x509.random_serial_number()
).not_valid_before(
datetime.datetime.now(datetime.timezone.utc)
).not_valid_after(
# Our certificate will be valid for 14 days
datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(days=14)
).add_extension(
x509.BasicConstraints(ca=True, path_length=None), critical=True,
# Sign our certificate with our private key
).sign(root_prv_key, hashes.SHA256())
# Check to make sure the cert generated correctly
isinstance(root_ca_cert, x509.Certificate)
# Print out the generated ECDSA Keys and Certs
root_pub_key_pem = root_pub_key.public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
)
root_prv_key_pem = root_prv_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm=serialization.NoEncryption()
)
root_ca_cert_pem = root_ca_cert.public_bytes(serialization.Encoding.PEM)
print("Public Key Pem:\n{0}\n".format(root_pub_key_pem.decode("utf-8")))
print("Private Key Pem:\n{0}\n".format(root_prv_key_pem.decode("utf-8")))
print("Root CA Cert Pem:\n{0}\n".format(root_ca_cert_pem.decode("utf-8")))
open(ROOT_CA_PRIV_KEY_FILE, "wb").write(root_prv_key_pem)
open(ROOT_CA_PUB_KEY_FILE, "wb").write(root_pub_key_pem)
open(ROOT_CA_CERT_FILE, "wb").write(root_ca_cert_pem)
print(f"Wrote PEM Encoded Root Private Key to:\n\t{ROOT_CA_PRIV_KEY_FILE}")
print(f"Wrote PEM Encoded Root Public Key to:\n\t{ROOT_CA_PUB_KEY_FILE}")
print(f"Wrote PEM Encoded Root CA Cert to:\n\t{ROOT_CA_CERT_FILE}")
# Device credential generation
print("\n\nGenerating ECDSA Claim Keys\n")
# Generate a ECDSA Key Pair
claim_prv_key = ec.generate_private_key(
ec.SECP256R1()
)
# Get the related public key
claim_pub_key = claim_prv_key.public_key()
# Simple check of the generated keys
validate_keys(
private_key = claim_prv_key,
public_key = claim_pub_key
)
# Now that the public and private key have been validated, create a x509 Cert
claim_cert = x509.CertificateBuilder().subject_name(
subject
).issuer_name(
issuer
).public_key(
claim_pub_key
).serial_number(
x509.random_serial_number()
).not_valid_before(
datetime.datetime.now(datetime.timezone.utc)
).not_valid_after(
# Our certificate will be valid for 14 days
datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(days=14)
).add_extension(
x509.BasicConstraints(ca=False, path_length=None), critical=True,
# Sign our certificate with the Root private key
).sign(root_prv_key, hashes.SHA256())
# Check to make sure the cert generated correctly
isinstance(claim_cert, x509.Certificate)
# Serialize the generated ECDSA Keys and Certs
claim_pub_key_pem = claim_pub_key.public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
)
claim_prv_key_pem = claim_prv_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm=serialization.NoEncryption()
)
claim_cert_pem = claim_cert.public_bytes(serialization.Encoding.PEM)
print("Claim Public Key Pem:\n{0}\n".format(claim_pub_key_pem.decode("utf-8")))
print("Claim Private Key Pem:\n{0}\n".format(claim_prv_key_pem.decode("utf-8")))
print("Claim Cert Pem:\n{0}\n".format(claim_cert_pem.decode("utf-8")))
open(CLAIM_PRIV_KEY_FILE, "wb").write(claim_pub_key_pem)
open(CLAIM_PUB_KEY_FILE, "wb").write(claim_prv_key_pem)
open(CLAIM_CERT_FILE, "wb").write(claim_cert_pem)
print(f"Wrote PEM Encoded Claim Private Key to:\n\t{CLAIM_PRIV_KEY_FILE}")
print(f"Wrote PEM Encoded Claim Public Key to:\n\t{CLAIM_PUB_KEY_FILE}")
print(f"Wrote PEM Encoded Claim CA Cert to:\n\t{CLAIM_CERT_FILE}")
if write_der_keys == True:
print("\nWrite DER Format Version of Claim Private Key and Cert")
# Use the helper function in convert_credentials_to_der to write out DER formatted keys
convert_pem_to_der(
cert_pem = claim_cert_pem.decode("utf-8"),
key_pem = claim_prv_key_pem.decode("utf-8")
)
return root_ca_cert_pem.decode("utf-8"), claim_cert_pem.decode("utf-8")

@ -124,29 +124,30 @@
* @brief Time in seconds to wait between retries of the demo loop if * @brief Time in seconds to wait between retries of the demo loop if
* demo loop fails. * demo loop fails.
*/ */
#define fpdemoDELAY_BETWEEN_DEMO_RETRY_ITERATIONS_SECONDS ( 5 ) #define fpdemoDELAY_BETWEEN_DEMO_RETRY_ITERATIONS_SECONDS ( 10 )
/** /**
* @brief Size of buffer in which to hold the certificate signing request (CSR). * @brief Size of buffer in which to hold the certificate signing request (CSR).
*/ */
#define fpdemoCSR_BUFFER_LENGTH 2048 #define fpdemoCSR_BUFFER_LENGTH 4096
/** /**
* @brief Size of buffer in which to hold the certificate. * @brief Size of buffer in which to hold the certificate.
*/ */
#define fpdemoCERT_BUFFER_LENGTH 2048 #define fpdemoCERT_BUFFER_LENGTH 4096
/** /**
* @brief Size of buffer in which to hold the certificate id. * @brief Size of buffer in which to hold the certificate id.
* *
* See https://docs.aws.amazon.com/iot/latest/apireference/API_Certificate.html#iot-Type-Certificate-certificateId * @note Has a maximum length of 64 for more information see the following link
* https://docs.aws.amazon.com/iot/latest/apireference/API_Certificate.html#iot-Type-Certificate-certificateId
*/ */
#define fpdemoCERT_ID_BUFFER_LENGTH 64 #define fpdemoCERT_ID_BUFFER_LENGTH 64
/** /**
* @brief Size of buffer in which to hold the certificate ownership token. * @brief Size of buffer in which to hold the certificate ownership token.
*/ */
#define fpdemoOWNERSHIP_TOKEN_BUFFER_LENGTH 512 #define fpdemoOWNERSHIP_TOKEN_BUFFER_LENGTH 1024
/** /**
* @brief Milliseconds per second. * @brief Milliseconds per second.
@ -203,7 +204,7 @@ static size_t xThingNameLength;
* APIs. When the MQTT publish callback receives an expected Fleet Provisioning * APIs. When the MQTT publish callback receives an expected Fleet Provisioning
* accepted payload, it copies it into this buffer. * accepted payload, it copies it into this buffer.
*/ */
static uint8_t pucPayloadBuffer[ democonfigNETWORK_BUFFER_SIZE ]; static uint8_t pucPayloadBuffer[ democonfigNETWORK_BUFFER_SIZE * 2 ];
/** /**
* @brief Length of the payload stored in #pucPayloadBuffer. This is set by the * @brief Length of the payload stored in #pucPayloadBuffer. This is set by the
@ -646,6 +647,12 @@ int prvFleetProvisioningTask( void * pvParameters )
* topics. In this demo we use CBOR encoding for the payloads, * topics. In this demo we use CBOR encoding for the payloads,
* so we use the CBOR variants of the topics. */ * so we use the CBOR variants of the topics. */
xStatus = prvSubscribeToCsrResponseTopics(); xStatus = prvSubscribeToCsrResponseTopics();
if( xStatus == true )
{
/* Subscribe to the RegisterThing response topics. */
xStatus = prvSubscribeToRegisterThingResponseTopics();
}
} }
if( xStatus == true ) if( xStatus == true )
@ -727,12 +734,6 @@ int prvFleetProvisioningTask( void * pvParameters )
&xPayloadLength ); &xPayloadLength );
} }
if( xStatus == true )
{
/* Subscribe to the RegisterThing response topics. */
xStatus = prvSubscribeToRegisterThingResponseTopics();
}
if( xStatus == true ) if( xStatus == true )
{ {
/* Publish the RegisterThing request. */ /* Publish the RegisterThing request. */

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -33,26 +21,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -61,28 +29,10 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\AWS\fleet-provisioning\source\include;..\..\Mqtt_Demo_Helpers;$(IncludePath)</IncludePath> <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\AWS\fleet-provisioning\source\include;..\..\Mqtt_Demo_Helpers;$(IncludePath)</IncludePath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\AWS\fleet-provisioning\source\include;..\..\Mqtt_Demo_Helpers;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\AWS\fleet-provisioning\source\include;..\..\Mqtt_Demo_Helpers;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\AWS\fleet-provisioning\source\include;..\..\Mqtt_Demo_Helpers;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled> <VcpkgEnabled>false</VcpkgEnabled>
</PropertyGroup> </PropertyGroup>
@ -90,61 +40,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories> <AdditionalIncludeDirectories>
</AdditionalIncludeDirectories> </AdditionalIncludeDirectories>
@ -152,8 +48,6 @@
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>

@ -256,8 +256,10 @@ bool xGenerateKeyAndCsr( CK_SESSION_HANDLE xP11Session,
{ {
mbedtls_x509write_csr_set_key( &xReq, &xPrivKey ); mbedtls_x509write_csr_set_key( &xReq, &xPrivKey );
ulMbedtlsRet = mbedtls_x509write_csr_pem( &xReq, ( unsigned char * ) pcCsrBuffer, ulMbedtlsRet = mbedtls_x509write_csr_pem( &xReq,
xCsrBufferLength, &lMbedCryptoRngCallbackPKCS11, ( unsigned char * ) pcCsrBuffer,
xCsrBufferLength,
&lMbedCryptoRngCallbackPKCS11,
&xP11Session ); &xP11Session );
} }

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -33,27 +21,6 @@
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture> <PreferredToolArchitecture>x86</PreferredToolArchitecture>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -62,85 +29,20 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\AWS\jobs\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\AWS\jobs\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\AWS\jobs\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\AWS\jobs\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\Mqtt_Demo_Helpers;..\..\..\..\Source\AWS\jobs\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\Application-Protocols\network_transport;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>

@ -40,7 +40,7 @@
/* mbedTLS includes. */ /* mbedTLS includes. */
#if !defined( MBEDTLS_CONFIG_FILE ) #if !defined( MBEDTLS_CONFIG_FILE )
#include "mbedtls_config_v3.2.1.h" #include "mbedtls_config_v3.5.1.h"
#else #else
#include MBEDTLS_CONFIG_FILE #include MBEDTLS_CONFIG_FILE
#endif #endif

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -60,89 +28,21 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<TargetName>RTOSDemo</TargetName> <TargetName>RTOSDemo</TargetName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>false</SDLCheck> <SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;_DEBUG;_CONSOLE;WIN32;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;WIN32_LEAN_AND_MEAN;__little_endian__=1;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\Common\HTTP_Utils;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;WIN32;NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\Common\HTTP_Utils;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\Common\HTTP_Utils;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\Common\HTTP_Utils;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\Common\HTTP_Utils;..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -33,26 +21,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -61,89 +29,21 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<TargetName>RTOSDemo</TargetName> <TargetName>RTOSDemo</TargetName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>false</SDLCheck> <SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;_DEBUG;_CONSOLE;WIN32;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h"</PreprocessorDefinitions> <PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;WIN32_LEAN_AND_MEAN;__little_endian__=1;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h"</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;WIN32;NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h"</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h"</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;WIN32;__little_endian__=1;NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h"</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\..\Source\Application-Protocols\network_transport;..\..\..\Common\coreMQTT_Agent_Interface\include;..\..\..\..\ThirdParty\tinycbor\src;..\..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\..\Source\coreJSON\source\include;..\..\..\..\Source\AWS\ota\source\include;..\..\..\..\Source\AWS\ota\source\portable\os;..\..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\Common\Ota_PAL\Win32\Code_Signature_Verification;..\Common\Ota_PAL\Win32;..\Common\subscription-manager;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>

@ -43,11 +43,11 @@
/* Logging configuration for the Demo. */ /* Logging configuration for the Demo. */
#ifndef LIBRARY_LOG_NAME #ifndef LIBRARY_LOG_NAME
#define LIBRARY_LOG_NAME "OTADemo" #define LIBRARY_LOG_NAME "OTADemo"
#endif #endif /* LIBRARY_LOG_NAME */
#ifndef LIBRARY_LOG_LEVEL #ifndef LIBRARY_LOG_LEVEL
#define LIBRARY_LOG_LEVEL LOG_DEBUG #define LIBRARY_LOG_LEVEL LOG_DEBUG
#endif #endif /* LIBRARY_LOG_LEVEL */
/* Prototype for the function used to print to console on Windows simulator /* Prototype for the function used to print to console on Windows simulator
* of FreeRTOS. * of FreeRTOS.

@ -36,7 +36,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -37,7 +37,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -60,90 +28,24 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\common;..\..\..\Source\FreeRTOS-Cellular-Interface\source\include\private;..\..\..\Source\FreeRTOS-Cellular-Interface\source\interface</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt.c" /> <ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt.c" />
<ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt_serializer.c" /> <ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt_serializer.c" />

@ -1,162 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C686325E-3261-42F7-AEB1-DDE5280E1CEB}</ProjectGuid>
<ProjectName>RTOSDemo</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<TypeLibraryName>.\Debug/WIN32.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Source\FreeRTOS-Plus-Trace\Include;..\..\..\FreeRTOS\Source\include;..\..\..\FreeRTOS\Source\portable\MSVC-MingW;..\..\Source\FreeRTOS-Plus-CLI;.\Trace_Recorder_Configuration;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderOutputFile>.\Debug/WIN32.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0c09</Culture>
</ResourceCompile>
<Link>
<OutputFile>.\Debug/RTOSDemo.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Debug/WIN32.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug/WIN32.bsc</OutputFile>
</Bscmake>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<TypeLibraryName>.\Release/WIN32.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>_WINSOCKAPI_;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\Release/WIN32.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalIncludeDirectories>..\Common\Utils;..\Common\ethernet\lwip-1.4.0\ports\win32\WinPCap;..\Common\ethernet\lwip-1.4.0\src\include\ipv4;..\Common\ethernet\lwip-1.4.0\src\include;..\..\Source\include;..\..\Source\portable\MSVC-MingW;..\Common\ethernet\lwip-1.4.0\ports\win32\include;..\Common\Include;.\lwIP_Apps;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0c09</Culture>
</ResourceCompile>
<Link>
<OutputFile>.\Release/RTOSDemo.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ProgramDatabaseFile>.\Release/WIN32.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>..\Common\ethernet\lwip-1.4.0\ports\win32\WinPCap</AdditionalLibraryDirectories>
<AdditionalDependencies>wpcap.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release/WIN32.bsc</OutputFile>
</Bscmake>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\FreeRTOS\Source\event_groups.c" />
<ClCompile Include="..\..\..\FreeRTOS\Source\list.c" />
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MemMang\heap_3.c" />
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MSVC-MingW\port.c" />
<ClCompile Include="..\..\..\FreeRTOS\Source\queue.c" />
<ClCompile Include="..\..\..\FreeRTOS\Source\stream_buffer.c" />
<ClCompile Include="..\..\..\FreeRTOS\Source\tasks.c" />
<ClCompile Include="..\..\..\FreeRTOS\Source\timers.c" />
<ClCompile Include="..\..\Source\FreeRTOS-Plus-CLI\FreeRTOS_CLI.c" />
<ClCompile Include="..\..\Source\FreeRTOS-Plus-Trace\trcKernelPort.c" />
<ClCompile Include="..\..\Source\FreeRTOS-Plus-Trace\trcSnapshotRecorder.c" />
<ClCompile Include="..\..\Source\FreeRTOS-Plus-Trace\trcStreamingRecorder.c" />
<ClCompile Include="CLI-commands.c" />
<ClCompile Include="main.c">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="Run-time-stats-utils.c" />
<ClCompile Include="UDPCommandServer.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="FreeRTOSConfig.h" />
<ClInclude Include="Trace_Recorder_Configuration\trcConfig.h" />
<ClInclude Include="Trace_Recorder_Configuration\trcSnapshotConfig.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{38712199-cebf-4124-bf15-398f7c3419ea}</UniqueIdentifier>
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
</Filter>
<Filter Include="Demo App Source">
<UniqueIdentifier>{34567deb-d5ab-4a56-8640-0aaec609521a}</UniqueIdentifier>
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
</Filter>
<Filter Include="FreeRTOS">
<UniqueIdentifier>{af3445a1-4908-4170-89ed-39345d90d30c}</UniqueIdentifier>
</Filter>
<Filter Include="FreeRTOS\Source">
<UniqueIdentifier>{f32be356-4763-4cae-9020-974a2638cb08}</UniqueIdentifier>
<Extensions>*.c</Extensions>
</Filter>
<Filter Include="FreeRTOS\Source\Portable">
<UniqueIdentifier>{88f409e6-d396-4ac5-94bd-7a99c914be46}</UniqueIdentifier>
</Filter>
<Filter Include="FreeRTOS+">
<UniqueIdentifier>{e5ad4ec7-23dc-4295-8add-2acaee488f5a}</UniqueIdentifier>
</Filter>
<Filter Include="FreeRTOS+\FreeRTOS+Trace">
<UniqueIdentifier>{629e761f-e8a8-430e-b44e-f38d83292b54}</UniqueIdentifier>
</Filter>
<Filter Include="FreeRTOS\Configuration Files">
<UniqueIdentifier>{19ff1a34-36de-4c48-9d10-3fb1fa0d1fa4}</UniqueIdentifier>
<Extensions>
</Extensions>
</Filter>
<Filter Include="FreeRTOS+\FreeRTOS+CLI">
<UniqueIdentifier>{fd43c0ed-fdbc-437f-a5a3-c50399690bd7}</UniqueIdentifier>
</Filter>
<Filter Include="Demo App Source\Trace Recorder Configuration">
<UniqueIdentifier>{91dffc7b-279b-44f6-a2b2-f5d2e132a85d}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.c">
<Filter>Demo App Source</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MSVC-MingW\port.c">
<Filter>FreeRTOS\Source\Portable</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MemMang\heap_3.c">
<Filter>FreeRTOS\Source\Portable</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\timers.c">
<Filter>FreeRTOS\Source</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\list.c">
<Filter>FreeRTOS\Source</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\queue.c">
<Filter>FreeRTOS\Source</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\tasks.c">
<Filter>FreeRTOS\Source</Filter>
</ClCompile>
<ClCompile Include="UDPCommandServer.c">
<Filter>Demo App Source</Filter>
</ClCompile>
<ClCompile Include="CLI-commands.c">
<Filter>Demo App Source</Filter>
</ClCompile>
<ClCompile Include="Run-time-stats-utils.c">
<Filter>Demo App Source</Filter>
</ClCompile>
<ClCompile Include="..\..\Source\FreeRTOS-Plus-CLI\FreeRTOS_CLI.c">
<Filter>FreeRTOS+\FreeRTOS+CLI</Filter>
</ClCompile>
<ClCompile Include="..\..\Source\FreeRTOS-Plus-Trace\trcKernelPort.c">
<Filter>FreeRTOS+\FreeRTOS+Trace</Filter>
</ClCompile>
<ClCompile Include="..\..\Source\FreeRTOS-Plus-Trace\trcSnapshotRecorder.c">
<Filter>FreeRTOS+\FreeRTOS+Trace</Filter>
</ClCompile>
<ClCompile Include="..\..\Source\FreeRTOS-Plus-Trace\trcStreamingRecorder.c">
<Filter>FreeRTOS+\FreeRTOS+Trace</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\event_groups.c">
<Filter>FreeRTOS\Source</Filter>
</ClCompile>
<ClCompile Include="..\..\..\FreeRTOS\Source\stream_buffer.c">
<Filter>FreeRTOS\Source</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="FreeRTOSConfig.h">
<Filter>FreeRTOS\Configuration Files</Filter>
</ClInclude>
<ClInclude Include="Trace_Recorder_Configuration\trcConfig.h">
<Filter>Demo App Source\Trace Recorder Configuration</Filter>
</ClInclude>
<ClInclude Include="Trace_Recorder_Configuration\trcSnapshotConfig.h">
<Filter>Demo App Source\Trace Recorder Configuration</Filter>
</ClInclude>
</ItemGroup>
</Project>

@ -56,7 +56,7 @@ $(DEMO_COMMON_SOURCE_DIR)\logging\include;
.; .;
..\common\Logging\windows ..\common\Logging\windows
</AdditionalIncludeDirectories> </AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;ipconfigUSE_PCAP=1;_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;ipconfigUSE_PCAP=1;_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild> <MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

@ -5,26 +5,10 @@
<Configuration>Debug_with_Libslirp</Configuration> <Configuration>Debug_with_Libslirp</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Debug_with_Libslirp|x64">
<Configuration>Debug_with_Libslirp</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -46,32 +30,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -83,18 +41,6 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
@ -102,23 +48,11 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WOLFSSL_IGNORE_FILE_WARN</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;WOLFSSL_USER_SETTINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WOLFSSL_IGNORE_FILE_WARN</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
@ -147,72 +81,6 @@ xcopy /y /d "..\..\ThirdParty\glib\build\subprojects\proxy-libintl\intl-8.dll" "
xcopy /y /d "..\..\ThirdParty\glib\build\subprojects\pcre2-10.42\pcre2-8-0.dll" "$(OutDir)"</Command> xcopy /y /d "..\..\ThirdParty\glib\build\subprojects\pcre2-10.42\pcre2-8-0.dll" "$(OutDir)"</Command>
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WOLFSSL_IGNORE_FILE_WARN</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WOLFSSL_IGNORE_FILE_WARN</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WOLFSSL_IGNORE_FILE_WARN</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Bcrypt.lib;Iphlpapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>xcopy /y /d "..\..\ThirdParty\glib\build\glib\glib-2.0-0.dll" "$(OutDir)"
xcopy /y /d "..\..\ThirdParty\glib\build\subprojects\proxy-libintl\intl-8.dll" "$(OutDir)"
xcopy /y /d "..\..\ThirdParty\glib\build\subprojects\pcre2-10.42\pcre2-8-0.dll" "$(OutDir)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WOLFSSL_IGNORE_FILE_WARN</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_x25519_128.i" /> <None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_x25519_128.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mont_small.i" /> <None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mont_small.i" />

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -60,15 +28,6 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled> <VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -60,15 +28,6 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled> <VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -60,15 +28,6 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled> <VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\coreJSON\source\include;..\..\..\Source\AWS\sigv4\source\include;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\coreJSON\source\include;..\..\..\Source\AWS\sigv4\source\include;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\coreJSON\source\include;..\..\..\Source\AWS\sigv4\source\include;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\coreJSON\source\include;..\..\..\Source\AWS\sigv4\source\include;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\coreJSON\source\include;..\..\..\Source\AWS\sigv4\source\include;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>

@ -201,7 +201,7 @@ extern void vLoggingPrintf( const char * pcFormatString,
/** /**
* @brief Transport timeout in milliseconds for transport send and receive. * @brief Transport timeout in milliseconds for transport send and receive.
*/ */
#define democonfigTRANSPORT_SEND_RECV_TIMEOUT_MS ( 5000 ) #define democonfigTRANSPORT_SEND_RECV_TIMEOUT_MS ( 10000 )
/** /**
* @brief The length in bytes of the user buffer. * @brief The length in bytes of the user buffer.

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -60,15 +28,6 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled> <VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -60,15 +28,6 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Label="Vcpkg"> <PropertyGroup Label="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled> <VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>

@ -125,7 +125,7 @@
/** /**
* @brief Timeout for receiving CONNACK packet in milliseconds. * @brief Timeout for receiving CONNACK packet in milliseconds.
*/ */
#define mqttexampleCONNACK_RECV_TIMEOUT_MS ( 1000U ) #define mqttexampleCONNACK_RECV_TIMEOUT_MS ( 2000U )
/** /**
* @brief The prefix to the topic(s) subscribe(d) to and publish(ed) to in the example. * @brief The prefix to the topic(s) subscribe(d) to and publish(ed) to in the example.
@ -160,7 +160,7 @@
* @brief Timeout for MQTT_ProcessLoop in milliseconds. * @brief Timeout for MQTT_ProcessLoop in milliseconds.
* Refer to FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/readme.txt for more details. * Refer to FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/readme.txt for more details.
*/ */
#define mqttexamplePROCESS_LOOP_TIMEOUT_MS ( 2000U ) #define mqttexamplePROCESS_LOOP_TIMEOUT_MS ( 5000U )
/** /**
* @brief The keep-alive timeout period reported to the broker while establishing * @brief The keep-alive timeout period reported to the broker while establishing
@ -443,11 +443,12 @@ void vStartSimpleMQTTDemo( void )
* state or call the MQTT_ProcessLoop() API function. Using an agent task * state or call the MQTT_ProcessLoop() API function. Using an agent task
* also enables multiple application tasks to more easily share a single * also enables multiple application tasks to more easily share a single
* MQTT connection. */ * MQTT connection. */
xTaskCreate( prvMQTTDemoTask, /* Function that implements the task. */ xTaskCreate( prvMQTTDemoTask, /* Function that implements the task. */
"DemoTask", /* Text name for the task - only used for debugging. */ "DemoTask", /* Text name for the task - only used for debugging. */
democonfigDEMO_STACKSIZE, /* Size of stack (in words, not bytes) to allocate for the task. */ democonfigDEMO_STACKSIZE, /* Size of stack (in words, not bytes) to allocate for the task. */
NULL, /* Task parameter - not used in this case. */ NULL, /* Task parameter - not used in this case. */
tskIDLE_PRIORITY, /* Task priority, must be between 0 and configMAX_PRIORITIES - 1. */ tskIDLE_PRIORITY + 1, /* Task priority, must be between 0 and configMAX_PRIORITIES - 1. */
NULL ); /* Used to pass out a handle to the created task - not used in this case. */ NULL ); /* Used to pass out a handle to the created task - not used in this case. */
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

@ -52,7 +52,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
@ -65,7 +65,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -43,7 +43,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -36,7 +36,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MQTT_AGENT_DO_NOT_USE_CUSTOM_CONFIG;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\Demo\Common\coreMQTT_Agent_Interface\include;.\subscription-manager;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Application-Protocols\coreMQTT-Agent\source\include;..\..\..\Demo\Common\coreMQTT_Agent_Interface\include;.\subscription-manager;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -52,9 +52,9 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\..\VisualStudio_StaticProjects\MbedTLS;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
@ -65,7 +65,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -60,7 +60,7 @@
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\FreeRTOS-Plus\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\wolfSSL_freertos;..\..\..\ThirdParty\wolfSSL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\FreeRTOS-Plus\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\wolfSSL_freertos;..\..\..\ThirdParty\wolfSSL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild> <MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@ -109,7 +109,7 @@
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\FreeRTOS-Plus\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\wolfSSL_freertos;..\..\..\ThirdParty\wolfSSL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\include;..\..\..\..\FreeRTOS-Plus\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\..\FreeRTOS-Plus\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\wolfSSL_freertos;..\..\..\ThirdParty\wolfSSL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WOLFSSL_USER_SETTINGS;WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild> <MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

@ -52,7 +52,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
@ -65,7 +65,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -5,26 +5,10 @@
<Configuration>Debug_with_Libslirp</Configuration> <Configuration>Debug_with_Libslirp</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Debug_with_Libslirp|x64">
<Configuration>Debug_with_Libslirp</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion> <VCProjectVersion>16.0</VCProjectVersion>
@ -46,32 +30,6 @@
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
</ImportGroup> </ImportGroup>
@ -83,18 +41,6 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
@ -102,23 +48,11 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
@ -131,7 +65,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
@ -146,72 +80,6 @@ xcopy /y /d "..\..\..\ThirdParty\glib\build\subprojects\proxy-libintl\intl-8.dll
xcopy /y /d "..\..\..\ThirdParty\glib\build\subprojects\pcre2-10.42\pcre2-8-0.dll" "$(OutDir)"</Command> xcopy /y /d "..\..\..\ThirdParty\glib\build\subprojects\pcre2-10.42\pcre2-8-0.dll" "$(OutDir)"</Command>
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Iphlpapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>xcopy /y /d "..\..\..\ThirdParty\glib\build\glib\glib-2.0-0.dll" "$(OutDir)"
xcopy /y /d "..\..\..\ThirdParty\glib\build\subprojects\proxy-libintl\intl-8.dll" "$(OutDir)"
xcopy /y /d "..\..\..\ThirdParty\glib\build\subprojects\pcre2-10.42\pcre2-8-0.dll" "$(OutDir)"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\Common;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Application-Protocols\coreMQTT\source\include;..\..\..\Source\Application-Protocols\coreMQTT\source\interface;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt_serializer.c" /> <ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt_serializer.c" />
<ClCompile Include="..\..\..\Source\Application-Protocols\network_transport\mbedtls_bio_tcp_sockets_wrapper.c" /> <ClCompile Include="..\..\..\Source\Application-Protocols\network_transport\mbedtls_bio_tcp_sockets_wrapper.c" />

@ -39,7 +39,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\Common;DemoTasks\include;..\..\..\Source\Application-Protocols\network_transport\tcp_sockets_wrapper\include;..\..\..\Source\Application-Protocols\network_transport;..\..\..\Source\Utilities\backoff_algorithm\source\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>

@ -112,4 +112,4 @@
<Filter>Config</Filter> <Filter>Config</Filter>
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>

@ -49,7 +49,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;examples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;examples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
@ -63,7 +63,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.;examples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;examples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>

@ -39,7 +39,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories> <AdditionalIncludeDirectories>
</AdditionalIncludeDirectories> </AdditionalIncludeDirectories>

@ -35,6 +35,7 @@
#else #else
#include MBEDTLS_CONFIG_FILE #include MBEDTLS_CONFIG_FILE
#endif #endif
#include "threading_alt.h" #include "threading_alt.h"
#include "mbedtls/entropy.h" #include "mbedtls/entropy.h"
#include "mbedtls/ssl.h" #include "mbedtls/ssl.h"

@ -40,7 +40,22 @@
#include <string.h> #include <string.h>
/* Mbedtls Includes */ /* Mbedtls Includes */
#define MBEDTLS_ALLOW_PRIVATE_ACCESS #ifndef MBEDTLS_ALLOW_PRIVATE_ACCESS
#define MBEDTLS_ALLOW_PRIVATE_ACCESS
#endif /* MBEDTLS_ALLOW_PRIVATE_ACCESS */
/* MBedTLS Includes */
#if !defined( MBEDTLS_CONFIG_FILE )
#include "mbedtls/mbedtls_config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
#ifdef MBEDTLS_PSA_CRYPTO_C
/* MbedTLS PSA Includes */
#include "psa/crypto.h"
#include "psa/crypto_values.h"
#endif /* MBEDTLS_PSA_CRYPTO_C */
#include "mbedtls/pk.h" #include "mbedtls/pk.h"
#include "mbedtls/asn1.h" #include "mbedtls/asn1.h"
@ -53,6 +68,9 @@
#include "core_pkcs11_config.h" #include "core_pkcs11_config.h"
#include "core_pkcs11.h" #include "core_pkcs11.h"
/* PKCS11 Includes */
#include "pkcs11t.h"
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
typedef struct P11PkCtx typedef struct P11PkCtx
@ -92,7 +110,7 @@ static void * p11_ecdsa_ctx_alloc( void );
* @param xPkHandle The CK_OBJECT_HANDLE for the target private key. * @param xPkHandle The CK_OBJECT_HANDLE for the target private key.
* @return CKR_OK on success * @return CKR_OK on success
*/ */
static CK_RV p11_ecdsa_ctx_init( void * pvCtx, static CK_RV p11_ecdsa_ctx_init( mbedtls_pk_context * pxMbedtlsPkCtx,
CK_FUNCTION_LIST_PTR pxFunctionList, CK_FUNCTION_LIST_PTR pxFunctionList,
CK_SESSION_HANDLE xSessionHandle, CK_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle ); CK_OBJECT_HANDLE xPkHandle );
@ -119,7 +137,7 @@ static void p11_ecdsa_ctx_free( void * pvCtx );
* @return 0 on success * @return 0 on success
* @return A negative number on failure * @return A negative number on failure
*/ */
static int p11_ecdsa_sign( void * pvCtx, static int p11_ecdsa_sign( mbedtls_pk_context * pk,
mbedtls_md_type_t xMdAlg, mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash, const unsigned char * pucHash,
size_t xHashLen, size_t xHashLen,
@ -135,7 +153,7 @@ static int p11_ecdsa_sign( void * pvCtx,
* @param pvCtx Void pointer to the relevant P11EcDsaCtx_t. * @param pvCtx Void pointer to the relevant P11EcDsaCtx_t.
* @return size_t Bit length of the key. * @return size_t Bit length of the key.
*/ */
static size_t p11_ecdsa_get_bitlen( const void * pvCtx ); static size_t p11_ecdsa_get_bitlen( const mbedtls_pk_context * pxMbedtlsPkCtx );
/** /**
* @brief Returns true if the pk context can perform the given pk operation. * @brief Returns true if the pk context can perform the given pk operation.
@ -148,7 +166,7 @@ static int p11_ecdsa_can_do( mbedtls_pk_type_t xType );
/** /**
* @brief Perform an ECDSA verify operation with the given pk context. * @brief Perform an ECDSA verify operation with the given pk context.
* *
* Validates that the signature given in the pucSig and xSigLen arguments * @note Validates that the signature given in the pucSig and xSigLen arguments
* matches the hash given in pucHash and xSigLen for the P11EcDsaCtx_t * matches the hash given in pucHash and xSigLen for the P11EcDsaCtx_t
* specified in pvCtx. * specified in pvCtx.
* *
@ -160,7 +178,7 @@ static int p11_ecdsa_can_do( mbedtls_pk_type_t xType );
* @param xSigLen Length of the signature given in pucSig * @param xSigLen Length of the signature given in pucSig
* @return 0 on success * @return 0 on success
*/ */
static int p11_ecdsa_verify( void * pvCtx, static int p11_ecdsa_verify( mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_md_type_t xMdAlg, mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash, const unsigned char * pucHash,
size_t xHashLen, size_t xHashLen,
@ -168,11 +186,11 @@ static int p11_ecdsa_verify( void * pvCtx,
size_t xSigLen ); size_t xSigLen );
static int p11_ecdsa_check_pair( const void * pvPub, static int p11_ecdsa_check_pair( const void * pvPub,
const void * pvPrv, const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ), int ( * lFRng )( void *, unsigned char *, size_t ),
void * pvPRng ); void * pvPRng );
static void p11_ecdsa_debug( const void * pvCtx, static void p11_ecdsa_debug( const mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_pk_debug_item * pxItems ); mbedtls_pk_debug_item * pxItems );
static int prvEcdsaSigToASN1InPlace( unsigned char * pucSig, static int prvEcdsaSigToASN1InPlace( unsigned char * pucSig,
@ -213,18 +231,18 @@ mbedtls_pk_info_t mbedtls_pkcs11_pk_ecdsa =
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static size_t p11_rsa_get_bitlen( const void * pvCtx ); static size_t p11_rsa_get_bitlen( const mbedtls_pk_context * ctx );
static int p11_rsa_can_do( mbedtls_pk_type_t xType ); static int p11_rsa_can_do( mbedtls_pk_type_t xType );
static int p11_rsa_verify( void * pvCtx, static int p11_rsa_verify( mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_md_type_t xMdAlg, mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash, const unsigned char * pucHash,
size_t xHashLen, size_t xHashLen,
const unsigned char * pucSig, const unsigned char * pucSig,
size_t xSigLen ); size_t xSigLen );
static int p11_rsa_sign( void * ctx, static int p11_rsa_sign( mbedtls_pk_context * pk,
mbedtls_md_type_t md_alg, mbedtls_md_type_t md_alg,
const unsigned char * hash, const unsigned char * hash,
size_t hash_len, size_t hash_len,
@ -235,20 +253,20 @@ static int p11_rsa_sign( void * ctx,
void * p_rng ); void * p_rng );
static int p11_rsa_check_pair( const void * pvPub, static int p11_rsa_check_pair( const void * pvPub,
const void * pvPrv, const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ), int ( * lFRng )( void *, unsigned char *, size_t ),
void * pvPRng ); void * pvPRng );
static void * p11_rsa_ctx_alloc( void ); static void * p11_rsa_ctx_alloc( void );
static CK_RV p11_rsa_ctx_init( void * pvCtx, static CK_RV p11_rsa_ctx_init( mbedtls_pk_context * pk,
CK_FUNCTION_LIST_PTR pxFunctionList, CK_FUNCTION_LIST_PTR pxFunctionList,
CK_SESSION_HANDLE xSessionHandle, CK_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle ); CK_OBJECT_HANDLE xPkHandle );
static void p11_rsa_ctx_free( void * pvCtx ); static void p11_rsa_ctx_free( void * pvCtx );
static void p11_rsa_debug( const void * pvCtx, static void p11_rsa_debug( const mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_pk_debug_item * pxItems ); mbedtls_pk_debug_item * pxItems );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -422,13 +440,13 @@ static void p11_ecdsa_ctx_free( void * pvCtx )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static CK_RV p11_ecdsa_ctx_init( void * pvCtx, static CK_RV p11_ecdsa_ctx_init( mbedtls_pk_context * pk,
CK_FUNCTION_LIST_PTR pxFunctionList, CK_FUNCTION_LIST_PTR pxFunctionList,
CK_SESSION_HANDLE xSessionHandle, CK_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle ) CK_OBJECT_HANDLE xPkHandle )
{ {
CK_RV xResult = CKR_OK; CK_RV xResult = CKR_OK;
P11EcDsaCtx_t * pxP11EcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx; P11EcDsaCtx_t * pxP11EcDsaCtx = ( P11EcDsaCtx_t * ) pk;
mbedtls_ecdsa_context * pxMbedEcDsaCtx = NULL; mbedtls_ecdsa_context * pxMbedEcDsaCtx = NULL;
configASSERT( pxFunctionList != NULL ); configASSERT( pxFunctionList != NULL );
@ -441,95 +459,98 @@ static CK_RV p11_ecdsa_ctx_init( void * pvCtx,
} }
else else
{ {
LogError( ( "Received a NULL mbedtls_pk_context" ) );
xResult = CKR_FUNCTION_FAILED; xResult = CKR_FUNCTION_FAILED;
} }
/* Initialize public EC parameter data from attributes */
CK_ATTRIBUTE pxAttrs[ 2 ] =
{
{ .type = CKA_EC_PARAMS, .ulValueLen = 0, .pValue = NULL },
{ .type = CKA_EC_POINT, .ulValueLen = 0, .pValue = NULL }
};
/* Determine necessary size */
xResult = pxFunctionList->C_GetAttributeValue( xSessionHandle,
xPkHandle,
pxAttrs,
sizeof( pxAttrs ) / sizeof( CK_ATTRIBUTE ) );
if( xResult == CKR_OK ) if( xResult == CKR_OK )
{ {
if( pxAttrs[ 0 ].ulValueLen > 0 ) /* Initialize public EC parameter data from attributes */
CK_ATTRIBUTE pxAttrs[ 2 ] =
{ {
pxAttrs[ 0 ].pValue = pvPortMalloc( pxAttrs[ 0 ].ulValueLen ); { .type = CKA_EC_PARAMS, .ulValueLen = 0, .pValue = NULL },
} { .type = CKA_EC_POINT, .ulValueLen = 0, .pValue = NULL }
};
if( pxAttrs[ 1 ].ulValueLen > 0 )
{
pxAttrs[ 1 ].pValue = pvPortMalloc( pxAttrs[ 1 ].ulValueLen );
}
/* Determine necessary size */
xResult = pxFunctionList->C_GetAttributeValue( xSessionHandle, xResult = pxFunctionList->C_GetAttributeValue( xSessionHandle,
xPkHandle, xPkHandle,
pxAttrs, pxAttrs,
2 ); sizeof( pxAttrs ) / sizeof( CK_ATTRIBUTE ) );
}
/* Parse EC Group */ if( xResult == CKR_OK )
if( xResult == CKR_OK )
{
/*TODO: Parse the ECParameters object */
int lResult = mbedtls_ecp_group_load( &( pxMbedEcDsaCtx->grp ), MBEDTLS_ECP_DP_SECP256R1 );
if( lResult != 0 )
{ {
xResult = CKR_FUNCTION_FAILED; if( pxAttrs[ 0 ].ulValueLen > 0 )
{
pxAttrs[ 0 ].pValue = pvPortMalloc( pxAttrs[ 0 ].ulValueLen );
}
if( pxAttrs[ 1 ].ulValueLen > 0 )
{
pxAttrs[ 1 ].pValue = pvPortMalloc( pxAttrs[ 1 ].ulValueLen );
}
xResult = pxFunctionList->C_GetAttributeValue( xSessionHandle,
xPkHandle,
pxAttrs,
2 );
} }
}
/* Parse ECPoint */ /* Parse EC Group */
if( xResult == CKR_OK ) if( xResult == CKR_OK )
{ {
unsigned char * pucIterator = pxAttrs[ 1 ].pValue; /*TODO: Parse the ECParameters object */
size_t uxLen = pxAttrs[ 1 ].ulValueLen; int lResult = mbedtls_ecp_group_load( &( pxMbedEcDsaCtx->grp ), MBEDTLS_ECP_DP_SECP256R1 );
int lResult = 0;
lResult = mbedtls_asn1_get_tag( &pucIterator, &( pucIterator[ uxLen ] ), &uxLen, MBEDTLS_ASN1_OCTET_STRING ); if( lResult != 0 )
{
xResult = CKR_FUNCTION_FAILED;
}
}
if( lResult != 0 ) /* Parse ECPoint */
if( xResult == CKR_OK )
{ {
xResult = CKR_GENERAL_ERROR; unsigned char * pucIterator = pxAttrs[ 1 ].pValue;
size_t uxLen = pxAttrs[ 1 ].ulValueLen;
int lResult = 0;
lResult = mbedtls_asn1_get_tag( &pucIterator, &( pucIterator[ uxLen ] ), &uxLen, MBEDTLS_ASN1_OCTET_STRING );
if( lResult != 0 )
{
xResult = CKR_GENERAL_ERROR;
}
else
{
lResult = mbedtls_ecp_point_read_binary( &( pxMbedEcDsaCtx->grp ),
&( pxMbedEcDsaCtx->Q ),
pucIterator,
uxLen );
}
if( lResult != 0 )
{
xResult = CKR_GENERAL_ERROR;
}
} }
else
if( pxAttrs[ 0 ].pValue != NULL )
{ {
lResult = mbedtls_ecp_point_read_binary( &( pxMbedEcDsaCtx->grp ), vPortFree( pxAttrs[ 0 ].pValue );
&( pxMbedEcDsaCtx->Q ),
pucIterator,
uxLen );
} }
if( lResult != 0 ) if( pxAttrs[ 1 ].pValue != NULL )
{ {
xResult = CKR_GENERAL_ERROR; vPortFree( pxAttrs[ 1 ].pValue );
} }
}
if( pxAttrs[ 0 ].pValue != NULL )
{
vPortFree( pxAttrs[ 0 ].pValue );
}
if( pxAttrs[ 1 ].pValue != NULL ) if( xResult == CKR_OK )
{ {
vPortFree( pxAttrs[ 1 ].pValue ); pxP11EcDsaCtx->xP11PkCtx.pxFunctionList = pxFunctionList;
} pxP11EcDsaCtx->xP11PkCtx.xSessionHandle = xSessionHandle;
pxP11EcDsaCtx->xP11PkCtx.xPkHandle = xPkHandle;
if( xResult == CKR_OK ) }
{
pxP11EcDsaCtx->xP11PkCtx.pxFunctionList = pxFunctionList;
pxP11EcDsaCtx->xP11PkCtx.xSessionHandle = xSessionHandle;
pxP11EcDsaCtx->xP11PkCtx.xPkHandle = xPkHandle;
} }
return xResult; return xResult;
@ -656,7 +677,7 @@ static int prvEcdsaSigToASN1InPlace( unsigned char * pucSig,
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static int p11_ecdsa_sign( void * pvCtx, static int p11_ecdsa_sign( mbedtls_pk_context * pk,
mbedtls_md_type_t xMdAlg, mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash, const unsigned char * pucHash,
size_t xHashLen, size_t xHashLen,
@ -668,7 +689,7 @@ static int p11_ecdsa_sign( void * pvCtx,
{ {
CK_RV xResult = CKR_OK; CK_RV xResult = CKR_OK;
int32_t lFinalResult = 0; int32_t lFinalResult = 0;
const P11EcDsaCtx_t * pxEcDsaCtx = NULL; const P11EcDsaCtx_t * pxEcDsaCtx = ( P11EcDsaCtx_t * ) pk->pk_ctx;
const P11PkCtx_t * pxP11Ctx = NULL; const P11PkCtx_t * pxP11Ctx = NULL;
unsigned char pucHashCopy[ MBEDTLS_MD_MAX_SIZE ]; unsigned char pucHashCopy[ MBEDTLS_MD_MAX_SIZE ];
@ -690,9 +711,8 @@ static int p11_ecdsa_sign( void * pvCtx,
configASSERT( pucHash != NULL ); configASSERT( pucHash != NULL );
configASSERT( xHashLen > 0 ); configASSERT( xHashLen > 0 );
if( pvCtx != NULL ) if( pxEcDsaCtx != NULL )
{ {
pxEcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
pxP11Ctx = &( pxEcDsaCtx->xP11PkCtx ); pxP11Ctx = &( pxEcDsaCtx->xP11PkCtx );
} }
else else
@ -739,13 +759,11 @@ static int p11_ecdsa_sign( void * pvCtx,
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static size_t p11_ecdsa_get_bitlen( const void * pvCtx ) static size_t p11_ecdsa_get_bitlen( const mbedtls_pk_context * pxMbedtlsPkCtx )
{ {
P11EcDsaCtx_t * pxEcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
configASSERT( mbedtls_ecdsa_info.get_bitlen ); configASSERT( mbedtls_ecdsa_info.get_bitlen );
return mbedtls_ecdsa_info.get_bitlen( &( pxEcDsaCtx->xMbedEcDsaCtx ) ); return mbedtls_ecdsa_info.get_bitlen( ( mbedtls_pk_context * ) pxMbedtlsPkCtx );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -757,18 +775,16 @@ static int p11_ecdsa_can_do( mbedtls_pk_type_t xType )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static int p11_ecdsa_verify( void * pvCtx, static int p11_ecdsa_verify( mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_md_type_t xMdAlg, mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash, const unsigned char * pucHash,
size_t xHashLen, size_t xHashLen,
const unsigned char * pucSig, const unsigned char * pucSig,
size_t xSigLen ) size_t xSigLen )
{ {
P11EcDsaCtx_t * pxEcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
configASSERT( mbedtls_ecdsa_info.verify_func ); configASSERT( mbedtls_ecdsa_info.verify_func );
return mbedtls_ecdsa_info.verify_func( &( pxEcDsaCtx->xMbedEcDsaCtx ), return mbedtls_ecdsa_info.verify_func( pxMbedtlsPkCtx,
xMdAlg, xMdAlg,
pucHash, xHashLen, pucHash, xHashLen,
pucSig, xSigLen ); pucSig, xSigLen );
@ -777,14 +793,15 @@ static int p11_ecdsa_verify( void * pvCtx,
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static int p11_ecdsa_check_pair( const void * pvPub, static int p11_ecdsa_check_pair( const void * pvPub,
const void * pvPrv, const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ), int ( * lFRng )( void *, unsigned char *, size_t ),
void * pvPRng ) void * pvPRng )
{ {
P11EcDsaCtx_t * pxP11PrvKey = ( P11EcDsaCtx_t * ) pxMbedtlsPkCtx->pk_ctx;
mbedtls_ecp_keypair * pxPubKey = ( mbedtls_ecp_keypair * ) pvPub; mbedtls_ecp_keypair * pxPubKey = ( mbedtls_ecp_keypair * ) pvPub;
mbedtls_ecp_keypair * pxPrvKey = ( mbedtls_ecp_keypair * ) pvPrv; mbedtls_ecp_keypair * pxPrvKey = &( pxP11PrvKey->xMbedEcDsaCtx );
P11EcDsaCtx_t * pxP11PrvKey = ( P11EcDsaCtx_t * ) pvPrv;
int lResult = 0; int lResult = 0;
( void ) lFRng; ( void ) lFRng;
@ -832,7 +849,7 @@ static int p11_ecdsa_check_pair( const void * pvPub,
}; };
unsigned char pucTestSignature[ MBEDTLS_ECDSA_MAX_SIG_LEN( 256 ) ] = { 0 }; unsigned char pucTestSignature[ MBEDTLS_ECDSA_MAX_SIG_LEN( 256 ) ] = { 0 };
size_t uxSigLen = 0; size_t uxSigLen = 0;
lResult = p11_ecdsa_sign( ( void * ) ( void * ) pvPrv, MBEDTLS_MD_SHA256, lResult = p11_ecdsa_sign( pxMbedtlsPkCtx, MBEDTLS_MD_SHA256,
pucTestHash, sizeof( pucTestHash ), pucTestHash, sizeof( pucTestHash ),
pucTestSignature, sizeof( pucTestSignature ), &uxSigLen, pucTestSignature, sizeof( pucTestSignature ), &uxSigLen,
NULL, NULL ); NULL, NULL );
@ -850,48 +867,44 @@ static int p11_ecdsa_check_pair( const void * pvPub,
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void p11_ecdsa_debug( const void * pvCtx, static void p11_ecdsa_debug( const mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_pk_debug_item * pxItems ) mbedtls_pk_debug_item * pxItems )
{ {
P11EcDsaCtx_t * pxEcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
configASSERT( mbedtls_ecdsa_info.debug_func ); configASSERT( mbedtls_ecdsa_info.debug_func );
mbedtls_ecdsa_info.debug_func( &( pxEcDsaCtx->xMbedEcDsaCtx ), pxItems ); mbedtls_ecdsa_info.debug_func( ( mbedtls_pk_context * ) pxMbedtlsPkCtx, pxItems );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static size_t p11_rsa_get_bitlen( const void * pvCtx ) static size_t p11_rsa_get_bitlen( const mbedtls_pk_context * pxMbedtlsPkCtx )
{ {
P11RsaCtx_t * pxRsaCtx = ( P11RsaCtx_t * ) pvCtx; mbedtls_rsa_context * pxRsaCtx = ( mbedtls_rsa_context * ) pxMbedtlsPkCtx->pk_ctx;
configASSERT( mbedtls_rsa_info.get_bitlen ); configASSERT( mbedtls_rsa_info.get_bitlen );
return mbedtls_rsa_info.get_bitlen( &( pxRsaCtx->xMbedRsaCtx ) ); return mbedtls_rsa_info.get_bitlen( pxMbedtlsPkCtx );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static int p11_rsa_can_do( mbedtls_pk_type_t xType ) static int p11_rsa_can_do( mbedtls_pk_type_t xType )
{ {
return( xType == MBEDTLS_PK_RSA ); return( ( xType == MBEDTLS_PK_RSA ) || ( xType == MBEDTLS_PK_RSASSA_PSS ) );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static int p11_rsa_verify( void * pvCtx, static int p11_rsa_verify( mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_md_type_t xMdAlg, mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash, const unsigned char * pucHash,
size_t xHashLen, size_t xHashLen,
const unsigned char * pucSig, const unsigned char * pucSig,
size_t xSigLen ) size_t xSigLen )
{ {
P11RsaCtx_t * pxRsaCtx = ( P11RsaCtx_t * ) pvCtx;
configASSERT( mbedtls_rsa_info.verify_func ); configASSERT( mbedtls_rsa_info.verify_func );
return mbedtls_rsa_info.verify_func( &( pxRsaCtx->xMbedRsaCtx ), return mbedtls_rsa_info.verify_func( pxMbedtlsPkCtx,
xMdAlg, xMdAlg,
pucHash, xHashLen, pucHash, xHashLen,
pucSig, xSigLen ); pucSig, xSigLen );
@ -899,7 +912,7 @@ static int p11_rsa_verify( void * pvCtx,
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static int p11_rsa_sign( void * pvCtx, static int p11_rsa_sign( mbedtls_pk_context * pk,
mbedtls_md_type_t xMdAlg, mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash, const unsigned char * pucHash,
size_t xHashLen, size_t xHashLen,
@ -942,9 +955,9 @@ static int p11_rsa_sign( void * pvCtx,
{ {
xResult = CKR_ARGUMENTS_BAD; xResult = CKR_ARGUMENTS_BAD;
} }
else if( pvCtx != NULL ) else if( pk != NULL )
{ {
pxP11RsaCtx = ( P11RsaCtx_t * ) pvCtx; pxP11RsaCtx = ( P11RsaCtx_t * ) pk->pk_ctx;
pxP11Ctx = &( pxP11RsaCtx->xP11PkCtx ); pxP11Ctx = &( pxP11RsaCtx->xP11PkCtx );
} }
else else
@ -990,16 +1003,16 @@ static int p11_rsa_sign( void * pvCtx,
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static int p11_rsa_check_pair( const void * pvPub, static int p11_rsa_check_pair( const void * pvPub,
const void * pvPrv, const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ), int ( * lFRng )( void *, unsigned char *, size_t ),
void * pvPRng ) void * pvPRng )
{ {
P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pvPrv;
configASSERT( mbedtls_rsa_info.check_pair_func ); configASSERT( mbedtls_rsa_info.check_pair_func );
return mbedtls_rsa_info.check_pair_func( pvPub, &( pxP11RsaCtx->xMbedRsaCtx ), return mbedtls_rsa_info.check_pair_func( pvPub,
lFRng, pvPRng ); pxMbedtlsPkCtx,
lFRng,
pvPRng );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -1012,14 +1025,14 @@ static void * p11_rsa_ctx_alloc( void )
if( pvCtx != NULL ) if( pvCtx != NULL )
{ {
P11RsaCtx_t * pxP11Rsa = ( P11RsaCtx_t * ) pvCtx; P11RsaCtx_t * pxRsaCtx = ( P11RsaCtx_t * ) pvCtx;
/* Initialize other fields */ /* Initialize other fields */
pxP11Rsa->xP11PkCtx.pxFunctionList = NULL; pxRsaCtx->xP11PkCtx.pxFunctionList = NULL;
pxP11Rsa->xP11PkCtx.xSessionHandle = CK_INVALID_HANDLE; pxRsaCtx->xP11PkCtx.xSessionHandle = CK_INVALID_HANDLE;
pxP11Rsa->xP11PkCtx.xPkHandle = CK_INVALID_HANDLE; pxRsaCtx->xP11PkCtx.xPkHandle = CK_INVALID_HANDLE;
mbedtls_rsa_init( &( pxP11Rsa->xMbedRsaCtx ) ); mbedtls_rsa_init( &( pxRsaCtx->xMbedRsaCtx ) );
} }
return pvCtx; return pvCtx;
@ -1027,13 +1040,13 @@ static void * p11_rsa_ctx_alloc( void )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static CK_RV p11_rsa_ctx_init( void * pvCtx, static CK_RV p11_rsa_ctx_init( mbedtls_pk_context * pk,
CK_FUNCTION_LIST_PTR pxFunctionList, CK_FUNCTION_LIST_PTR pxFunctionList,
CK_SESSION_HANDLE xSessionHandle, CK_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle ) CK_OBJECT_HANDLE xPkHandle )
{ {
CK_RV xResult = CKR_OK; CK_RV xResult = CKR_OK;
P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pvCtx; P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pk;
mbedtls_rsa_context * pxMbedRsaCtx = NULL; mbedtls_rsa_context * pxMbedRsaCtx = NULL;
configASSERT( pxFunctionList != NULL ); configASSERT( pxFunctionList != NULL );
@ -1094,14 +1107,12 @@ static void p11_rsa_ctx_free( void * pvCtx )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void p11_rsa_debug( const void * pvCtx, static void p11_rsa_debug( const mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_pk_debug_item * pxItems ) mbedtls_pk_debug_item * pxItems )
{ {
P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pvCtx;
configASSERT( mbedtls_rsa_info.debug_func ); configASSERT( mbedtls_rsa_info.debug_func );
mbedtls_rsa_info.debug_func( &( pxP11RsaCtx->xMbedRsaCtx ), pxItems ); mbedtls_rsa_info.debug_func( pxMbedtlsPkCtx, pxItems );
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

@ -26,8 +26,13 @@
#include "logging_levels.h" #include "logging_levels.h"
#define LIBRARY_LOG_NAME "MbedTLSRNGP11" #ifndef LIBRARY_LOG_NAME
#define LIBRARY_LOG_LEVEL LOG_ERROR #define LIBRARY_LOG_NAME "MbedTLSRNGP11"
#endif /* LIBRARY_LOG_NAME */
#ifndef LIBRARY_LOG_LEVEL
#define LIBRARY_LOG_LEVEL LOG_ERROR
#endif /* LIBRARY_LOG_LEVEL */
#include "logging_stack.h" #include "logging_stack.h"

@ -25,15 +25,20 @@
*/ */
/** /**
* @file tls_freertos.c * @file transport_mbedtls.c
* @brief TLS transport interface implementations. This implementation uses * @brief TLS transport interface implementations. This implementation uses
* mbedTLS. * mbedTLS.
*/ */
#include "logging_levels.h" #include "logging_levels.h"
#define LIBRARY_LOG_NAME "MbedtlsTransport" #ifndef LIBRARY_LOG_NAME
#define LIBRARY_LOG_LEVEL LOG_INFO #define LIBRARY_LOG_NAME "MbedtlsTransport"
#endif /* LIBRARY_LOG_NAME */
#ifndef LIBRARY_LOG_LEVEL
#define LIBRARY_LOG_LEVEL LOG_INFO
#endif /* LIBRARY_LOG_LEVEL*/
#include "logging_stack.h" #include "logging_stack.h"
@ -43,7 +48,24 @@
/* FreeRTOS includes. */ /* FreeRTOS includes. */
#include "FreeRTOS.h" #include "FreeRTOS.h"
/* MbedTLS Bio TCP sockets wrapper include. */ /* MBedTLS Includes */
#if !defined( MBEDTLS_CONFIG_FILE )
#include "mbedtls/mbedtls_config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
#ifdef MBEDTLS_PSA_CRYPTO_C
/* MbedTLS PSA Includes */
#include "psa/crypto.h"
#include "psa/crypto_values.h"
#endif /* MBEDTLS_PSA_CRYPTO_C */
#ifdef MBEDTLS_DEBUG_C
#include "mbedtls/debug.h"
#endif /* MBEDTLS_DEBUG_C */
/* MBedTLS Bio TCP sockets wrapper include. */
#include "mbedtls_bio_tcp_sockets_wrapper.h" #include "mbedtls_bio_tcp_sockets_wrapper.h"
/* TLS transport header. */ /* TLS transport header. */
@ -219,6 +241,22 @@ static TlsTransportStatus_t initMbedtls( mbedtls_entropy_context * pEntropyConte
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#ifdef MBEDTLS_DEBUG_C
void mbedtls_string_printf( void * sslContext,
int level,
const char * file,
int line,
const char * str )
{
if( ( str != NULL ) && ( file != NULL ) )
{
LogDebug( ( "%s:%d: [%d] %s", file, line, level, str ) );
}
}
#endif /* MBEDTLS_DEBUG_C */
/*-----------------------------------------------------------*/
static void sslContextInit( SSLContext_t * pSslContext ) static void sslContextInit( SSLContext_t * pSslContext )
{ {
configASSERT( pSslContext != NULL ); configASSERT( pSslContext != NULL );
@ -228,6 +266,12 @@ static void sslContextInit( SSLContext_t * pSslContext )
mbedtls_pk_init( &( pSslContext->privKey ) ); mbedtls_pk_init( &( pSslContext->privKey ) );
mbedtls_x509_crt_init( &( pSslContext->clientCert ) ); mbedtls_x509_crt_init( &( pSslContext->clientCert ) );
mbedtls_ssl_init( &( pSslContext->context ) ); mbedtls_ssl_init( &( pSslContext->context ) );
#ifdef MBEDTLS_DEBUG_C
mbedtls_debug_set_threshold( LIBRARY_LOG_LEVEL + 1U );
mbedtls_ssl_conf_dbg( &( pSslContext->config ),
mbedtls_string_printf,
NULL );
#endif /* MBEDTLS_DEBUG_C */
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -597,6 +641,19 @@ static TlsTransportStatus_t initMbedtls( mbedtls_entropy_context * pEntropyConte
returnStatus = TLS_TRANSPORT_INTERNAL_ERROR; returnStatus = TLS_TRANSPORT_INTERNAL_ERROR;
} }
#ifdef MBEDTLS_PSA_CRYPTO_C
if( returnStatus == TLS_TRANSPORT_SUCCESS )
{
mbedtlsError = psa_crypto_init();
if( mbedtlsError != PSA_SUCCESS )
{
LogError( ( "Failed to initialize PSA Crypto implementation: %s", ( int ) mbedtlsError ) );
returnStatus = TLS_TRANSPORT_INTERNAL_ERROR;
}
}
#endif /* MBEDTLS_PSA_CRYPTO_C */
if( returnStatus == TLS_TRANSPORT_SUCCESS ) if( returnStatus == TLS_TRANSPORT_SUCCESS )
{ {
/* Seed the random number generator. */ /* Seed the random number generator. */
@ -809,8 +866,14 @@ int32_t TLS_FreeRTOS_recv( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) || if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) || ( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ) ( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ||
( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET ) )
{ {
if( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET )
{
LogDebug( ( "Received a MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET return code from mbedtls_ssl_read." ) );
}
LogDebug( ( "Failed to read data. However, a read can be retried on this error. " LogDebug( ( "Failed to read data. However, a read can be retried on this error. "
"mbedTLSError= %s : %s.", "mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ), mbedtlsHighLevelCodeOrDefault( tlsStatus ),
@ -868,8 +931,14 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) || if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) || ( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ) ( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ||
( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET ) )
{ {
if( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET )
{
LogDebug( ( "Received a MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET return code from mbedtls_ssl_write." ) );
}
LogDebug( ( "Failed to send data. However, send can be retried on this error. " LogDebug( ( "Failed to send data. However, send can be retried on this error. "
"mbedTLSError= %s : %s.", "mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ), mbedtlsHighLevelCodeOrDefault( tlsStatus ),

@ -32,6 +32,22 @@
#ifndef USING_MBEDTLS #ifndef USING_MBEDTLS
#define USING_MBEDTLS #define USING_MBEDTLS
/* MBed TLS includes. */
#if !defined( MBEDTLS_CONFIG_FILE )
#include "mbedtls/mbedtls_config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
#include "mbedtls/build_info.h"
#include "mbedtls/ctr_drbg.h"
#include "mbedtls/entropy.h"
#include "mbedtls/ssl.h"
#include "mbedtls/threading.h"
#include "mbedtls/x509.h"
#include "mbedtls/error.h"
/**************************************************/ /**************************************************/
/******* DO NOT CHANGE the following order ********/ /******* DO NOT CHANGE the following order ********/
/**************************************************/ /**************************************************/
@ -53,9 +69,10 @@
#define LIBRARY_LOG_LEVEL LOG_ERROR #define LIBRARY_LOG_LEVEL LOG_ERROR
#endif #endif
/* Prototype for the function used to print to console on Windows simulator /** @brief Prototype for the function used to print to console on Windows
* of FreeRTOS. * simulator of FreeRTOS.
* The function prints to the console before the network is connected; *
* @note The function prints to the console before the network is connected;
* then a UDP port after the network has connected. */ * then a UDP port after the network has connected. */
extern void vLoggingPrintf( const char * pcFormatString, extern void vLoggingPrintf( const char * pcFormatString,
... ); ... );
@ -76,15 +93,6 @@ extern void vLoggingPrintf( const char * pcFormatString,
/* Transport interface include. */ /* Transport interface include. */
#include "transport_interface.h" #include "transport_interface.h"
/* mbed TLS includes. */
#include "mbedtls/ctr_drbg.h"
#include "mbedtls/entropy.h"
#include "mbedtls/ssl.h"
#include "mbedtls/threading.h"
#include "mbedtls/x509.h"
#include "mbedtls/error.h"
#include "mbedtls/build_info.h"
/** /**
* @brief Secured connection context. * @brief Secured connection context.
*/ */
@ -183,7 +191,7 @@ void TLS_FreeRTOS_Disconnect( NetworkContext_t * pNetworkContext );
/** /**
* @brief Receives data from an established TLS connection. * @brief Receives data from an established TLS connection.
* *
* This is the TLS version of the transport interface's * @note This is the TLS version of the transport interface's
* #TransportRecv_t function. * #TransportRecv_t function.
* *
* @param[in] pNetworkContext The Network context. * @param[in] pNetworkContext The Network context.
@ -201,7 +209,7 @@ int32_t TLS_FreeRTOS_recv( NetworkContext_t * pNetworkContext,
/** /**
* @brief Sends data over an established TLS connection. * @brief Sends data over an established TLS connection.
* *
* This is the TLS version of the transport interface's * @note This is the TLS version of the transport interface's
* #TransportSend_t function. * #TransportSend_t function.
* *
* @param[in] pNetworkContext The network context. * @param[in] pNetworkContext The network context.
@ -216,4 +224,25 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
const void * pBuffer, const void * pBuffer,
size_t bytesToSend ); size_t bytesToSend );
#ifdef MBEDTLS_DEBUG_C
/**
* @brief Write an MBedTLS Debug message to the LogDebug() function
*
* @param[in] sslContext Pointer of the SSL Context that is being used
* @param[in] level The severity level of the debug message from MBedTLS
* @param[in] file Name of the file that the debug message is from
* @param[in] line The line number that the debug message is from
* @param[in] str The full string debug message from MBedTLS
*
* @return void
*/
void mbedtls_string_printf( void * sslContext,
int level,
const char * file,
int line,
const char * str );
#endif /* MBEDTLS_DEBUG_C */
#endif /* ifndef USING_MBEDTLS */ #endif /* ifndef USING_MBEDTLS */

@ -30,19 +30,38 @@
* mbedTLS. * mbedTLS.
*/ */
/* Standard includes. */
#include <string.h>
#include "logging_levels.h" #include "logging_levels.h"
#define LIBRARY_LOG_NAME "PkcsTlsTransport" #define LIBRARY_LOG_NAME "PkcsTlsTransport"
#define LIBRARY_LOG_LEVEL LOG_INFO
#ifndef LIBRARY_LOG_LEVEL
#define LIBRARY_LOG_LEVEL LOG_INFO
#endif /* LIBRARY_LOG_LEVEL */
#include "logging_stack.h" #include "logging_stack.h"
#define MBEDTLS_ALLOW_PRIVATE_ACCESS #ifndef MBEDTLS_ALLOW_PRIVATE_ACCESS
#define MBEDTLS_ALLOW_PRIVATE_ACCESS
#include "mbedtls/private_access.h"
#endif /* MBEDTLS_ALLOW_PRIVATE_ACCESS */
#include "mbedtls/private_access.h" /* MBedTLS Includes */
#if !defined( MBEDTLS_CONFIG_FILE )
#include "mbedtls/mbedtls_config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
/* Standard includes. */ #ifdef MBEDTLS_PSA_CRYPTO_C
#include <string.h> /* MbedTLS PSA Includes */
#include "psa/crypto.h"
#include "psa/crypto_values.h"
#endif /* MBEDTLS_PSA_CRYPTO_C */
#include "mbedtls/debug.h"
/* FreeRTOS includes. */ /* FreeRTOS includes. */
#include "FreeRTOS.h" #include "FreeRTOS.h"
@ -205,6 +224,22 @@ static int32_t privateKeySigningCallback( void * pvContext,
void * pvRng ); void * pvRng );
/*-----------------------------------------------------------*/
#ifdef MBEDTLS_DEBUG_C
void mbedtls_string_printf( void * sslContext,
int level,
const char * file,
int line,
const char * str )
{
if( ( str != NULL ) && ( file != NULL ) )
{
LogDebug( ( "%s:%d: [%d] %s", file, line, level, str ) );
}
}
#endif /* MBEDTLS_DEBUG_C */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
static void sslContextInit( SSLContext_t * pSslContext ) static void sslContextInit( SSLContext_t * pSslContext )
@ -215,6 +250,12 @@ static void sslContextInit( SSLContext_t * pSslContext )
mbedtls_x509_crt_init( &( pSslContext->rootCa ) ); mbedtls_x509_crt_init( &( pSslContext->rootCa ) );
mbedtls_x509_crt_init( &( pSslContext->clientCert ) ); mbedtls_x509_crt_init( &( pSslContext->clientCert ) );
mbedtls_ssl_init( &( pSslContext->context ) ); mbedtls_ssl_init( &( pSslContext->context ) );
#ifdef MBEDTLS_DEBUG_C
mbedtls_debug_set_threshold( LIBRARY_LOG_LEVEL + 1U );
mbedtls_ssl_conf_dbg( &( pSslContext->config ),
mbedtls_string_printf,
NULL );
#endif /* MBEDTLS_DEBUG_C */
xInitializePkcs11Session( &( pSslContext->xP11Session ) ); xInitializePkcs11Session( &( pSslContext->xP11Session ) );
C_GetFunctionList( &( pSslContext->pxP11FunctionList ) ); C_GetFunctionList( &( pSslContext->pxP11FunctionList ) );
@ -274,6 +315,20 @@ static TlsTransportStatus_t tlsSetup( NetworkContext_t * pNetworkContext,
returnStatus = TLS_TRANSPORT_INSUFFICIENT_MEMORY; returnStatus = TLS_TRANSPORT_INSUFFICIENT_MEMORY;
} }
#ifdef MBEDTLS_PSA_CRYPTO_C
mbedtlsError = psa_crypto_init();
if( mbedtlsError != PSA_SUCCESS )
{
LogError( ( "Failed to initialize PSA Crypto implementation: %s", ( int ) mbedtlsError ) );
returnStatus = TLS_TRANSPORT_INVALID_PARAMETER;
}
else
{
LogDebug( ( "Initialized the PSA Crypto Engine" ) );
}
#endif /* MBEDTLS_PSA_CRYPTO_C */
if( returnStatus == TLS_TRANSPORT_SUCCESS ) if( returnStatus == TLS_TRANSPORT_SUCCESS )
{ {
/* Set up the certificate security profile, starting from the default value. */ /* Set up the certificate security profile, starting from the default value. */
@ -448,15 +503,23 @@ static TlsTransportStatus_t tlsSetup( NetworkContext_t * pNetworkContext,
{ {
mbedtlsError = mbedtls_ssl_handshake( &( pTlsTransportParams->sslContext.context ) ); mbedtlsError = mbedtls_ssl_handshake( &( pTlsTransportParams->sslContext.context ) );
} while( ( mbedtlsError == MBEDTLS_ERR_SSL_WANT_READ ) || } while( ( mbedtlsError == MBEDTLS_ERR_SSL_WANT_READ ) ||
( mbedtlsError == MBEDTLS_ERR_SSL_WANT_WRITE ) ); ( mbedtlsError == MBEDTLS_ERR_SSL_WANT_WRITE ) ||
( mbedtlsError == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET ) );
if( mbedtlsError != 0 ) if( mbedtlsError != 0 )
{ {
LogError( ( "Failed to perform TLS handshake: mbedTLSError= %s : %s.", if( mbedtlsError == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET )
mbedtlsHighLevelCodeOrDefault( mbedtlsError ), {
mbedtlsLowLevelCodeOrDefault( mbedtlsError ) ) ); LogDebug( ( "Received a MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET return code from mbedtls_ssl_handshake." ) );
}
else
{
LogError( ( "Failed to perform TLS handshake: mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( mbedtlsError ),
mbedtlsLowLevelCodeOrDefault( mbedtlsError ) ) );
returnStatus = TLS_TRANSPORT_HANDSHAKE_FAILED; returnStatus = TLS_TRANSPORT_HANDSHAKE_FAILED;
}
} }
} }
@ -633,7 +696,7 @@ static CK_RV initializeClientKeys( SSLContext_t * pxCtx,
if( ( CKR_OK == xResult ) && ( pxCtx->xP11PrivateKey == CK_INVALID_HANDLE ) ) if( ( CKR_OK == xResult ) && ( pxCtx->xP11PrivateKey == CK_INVALID_HANDLE ) )
{ {
xResult = CK_INVALID_HANDLE; xResult = CK_INVALID_HANDLE;
LogError( ( "Could not find private key." ) ); LogError( ( "Could not find private key: %s", pcLabelName ) );
} }
if( xResult == CKR_OK ) if( xResult == CKR_OK )
@ -808,8 +871,14 @@ int32_t TLS_FreeRTOS_recv( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) || if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) || ( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ) ( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ||
( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET ) )
{ {
if( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET )
{
LogDebug( ( "Received a MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET return code from mbedtls_ssl_read." ) );
}
LogDebug( ( "Failed to read data. However, a read can be retried on this error. " LogDebug( ( "Failed to read data. However, a read can be retried on this error. "
"mbedTLSError= %s : %s.", "mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ), mbedtlsHighLevelCodeOrDefault( tlsStatus ),
@ -867,8 +936,14 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) || if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) || ( tlsStatus == MBEDTLS_ERR_SSL_WANT_READ ) ||
( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ) ( tlsStatus == MBEDTLS_ERR_SSL_WANT_WRITE ) ||
( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET ) )
{ {
if( tlsStatus == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET )
{
LogDebug( ( "Received a MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET return code from mbedtls_ssl_write." ) );
}
LogDebug( ( "Failed to send data. However, send can be retried on this error. " LogDebug( ( "Failed to send data. However, send can be retried on this error. "
"mbedTLSError= %s : %s.", "mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ), mbedtlsHighLevelCodeOrDefault( tlsStatus ),

@ -37,6 +37,12 @@
#define MBEDTLS_ALLOW_PRIVATE_ACCESS #define MBEDTLS_ALLOW_PRIVATE_ACCESS
#if !defined( MBEDTLS_CONFIG_FILE )
#include "mbedtls/mbedtls_config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
#include "mbedtls/private_access.h" #include "mbedtls/private_access.h"
/* TCP Sockets Wrapper include.*/ /* TCP Sockets Wrapper include.*/
@ -46,6 +52,7 @@
#include "transport_interface.h" #include "transport_interface.h"
/* mbed TLS includes. */ /* mbed TLS includes. */
#include "mbedtls/build_info.h"
#include "mbedtls/ctr_drbg.h" #include "mbedtls/ctr_drbg.h"
#include "mbedtls/entropy.h" #include "mbedtls/entropy.h"
#include "mbedtls/ssl.h" #include "mbedtls/ssl.h"
@ -181,7 +188,7 @@ int32_t TLS_FreeRTOS_recv( NetworkContext_t * pNetworkContext,
/** /**
* @brief Sends data over an established TLS connection. * @brief Sends data over an established TLS connection.
* *
* This is the TLS version of the transport interface's * @note This is the TLS version of the transport interface's
* #TransportSend_t function. * #TransportSend_t function.
* *
* @param[in] pNetworkContext The network context. * @param[in] pNetworkContext The network context.
@ -196,4 +203,25 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
const void * pBuffer, const void * pBuffer,
size_t bytesToSend ); size_t bytesToSend );
#ifdef MBEDTLS_DEBUG_C
/**
* @brief Write an MBedTLS Debug message to the LogDebug() function
*
* @param[in] sslContext Pointer of the SSL Context that is being used
* @param[in] level The severity level of the debug message from MBedTLS
* @param[in] file Name of the file that the debug message is from
* @param[in] line The line number that the debug message is from
* @param[in] str The full string debug message from MBedTLS
*
* @return void
*/
void mbedtls_string_printf( void * sslContext,
int level,
const char * file,
int line,
const char * str );
#endif /* MBEDTLS_DEBUG_C */
#endif /* ifndef TRANSPORT_MBEDTLS_PKCS11 */ #endif /* ifndef TRANSPORT_MBEDTLS_PKCS11 */

@ -1 +1 @@
Subproject commit 6ddc35ebdcd97a74d39a9c00e9bfa9a6b0febe4e Subproject commit 8b5ec3b3e3a7fbf0c1d47646773ada90fa12b19b

@ -1 +1 @@
Subproject commit 869298bffeea13b205343361b7a7daf2b210e33d Subproject commit edb8fec9882084344a314368ac7fd957a187519c

@ -29,11 +29,13 @@
#include <ws2tcpip.h> #include <ws2tcpip.h>
#ifndef __MINGW32__ #ifndef IN_MULTICAST
#define IN_MULTICAST( a ) IN_CLASSD( a ) #ifndef __MINGW32__
#endif #define IN_MULTICAST( a ) IN_CLASSD( a )
#endif
#endif /* IN_MULTICAST */
#define IN_EXPERIMENTAL( a ) ( ( ( ( u_int32_t ) ( a ) ) & 0xf0000000 ) == 0xf0000000 ) #define IN_EXPERIMENTAL( a ) ( ( ( ( u_int32_t ) ( a ) ) & 0xf0000000 ) == 0xf0000000 )
#define IN_LOOPBACKNET 127 #define IN_LOOPBACKNET 127

@ -68,12 +68,12 @@
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Source\FreeRTOS-Plus-TCP\source\include;..\..\Source\FreeRTOS-Plus-TCP\source\portable\Compiler\MSVC;..\..\Source\FreeRTOS-Plus-TCP\tools\tcp_utilities\include;..\..\ThirdParty\winpcap\include;..\..\ThirdParty\winpcap\include\pcap;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\ThirdParty\MbedTLS;..\..\Source\FreeRTOS-Plus-TCP\source\include;..\..\Source\FreeRTOS-Plus-TCP\source\portable\Compiler\MSVC;..\..\Source\FreeRTOS-Plus-TCP\tools\tcp_utilities\include;..\..\ThirdParty\winpcap\include;..\..\ThirdParty\winpcap\include\pcap;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<TargetMachine>MachineX86</TargetMachine> <TargetMachine>MachineX86</TargetMachine>
@ -86,7 +86,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<ClCompile> <ClCompile>
<PreprocessorDefinitions>BUILDING_LIBSLIRP;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;BUILDING_LIBSLIRP;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

@ -35,6 +35,8 @@
#include "FreeRTOS_IP.h" #include "FreeRTOS_IP.h"
#include "FreeRTOS_Sockets.h" #include "FreeRTOS_Sockets.h"
/* Function from freertos_hooks_winsim.c */
extern UBaseType_t uxRand( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
#if defined( ipconfigIPv4_BACKWARD_COMPATIBLE ) && ( ipconfigIPv4_BACKWARD_COMPATIBLE == 0 ) #if defined( ipconfigIPv4_BACKWARD_COMPATIBLE ) && ( ipconfigIPv4_BACKWARD_COMPATIBLE == 0 )

@ -64,7 +64,7 @@
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -78,7 +78,7 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<ClCompile> <ClCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

@ -139,7 +139,7 @@ void vConfigureTimerForRunTimeStats( void );
* results in the wired network being used, while setting * results in the wired network being used, while setting
* configNETWORK_INTERFACE_TO_USE to 2 results in the wireless network being * configNETWORK_INTERFACE_TO_USE to 2 results in the wireless network being
* used. */ * used. */
#define configNETWORK_INTERFACE_TO_USE ( 1L ) #define configNETWORK_INTERFACE_TO_USE ( 0L )
/* The address to which logging is sent should UDP logging be enabled. */ /* The address to which logging is sent should UDP logging be enabled. */
#define configUDP_LOGGING_ADDR0 192 #define configUDP_LOGGING_ADDR0 192

@ -32,8 +32,16 @@
* should an assert get hit. */ * should an assert get hit. */
#include <intrin.h> #include <intrin.h>
/* Windows Crypt api for uxRand() */
#ifdef WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#else
#include <winsock.h>
#endif /* WIN32_LEAN_AND_MEAN */
#include <windows.h> #include <windows.h>
/* Windows Crypt api for uxRand() */
#include <wincrypt.h> #include <wincrypt.h>
/* FreeRTOS includes. */ /* FreeRTOS includes. */
@ -52,7 +60,7 @@ void vAssertCalled( const char * pcFile,
( void ) pcFileName; ( void ) pcFileName;
( void ) ulLineNumber; ( void ) ulLineNumber;
printf( "vAssertCalled( %s, %u\n", pcFile, ulLine ); printf( "vAssertCalled( %s, %u )\n", pcFile, ulLine );
/* Setting ulBlockVariable to a non-zero value in the debugger will allow /* Setting ulBlockVariable to a non-zero value in the debugger will allow
* this function to be exited. */ * this function to be exited. */

@ -37,7 +37,14 @@
*/ */
#include <time.h> #include <time.h>
#include <Windows.h>
#ifdef WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#else
#include <winsock.h>
#endif /* WIN32_LEAN_AND_MEAN */
#include <windows.h>
/* FreeRTOS includes. */ /* FreeRTOS includes. */
#include "FreeRTOS.h" #include "FreeRTOS.h"

@ -54,7 +54,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(PublicIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(PublicIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
@ -68,7 +68,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(PublicIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(PublicIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>

@ -26,6 +26,12 @@
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cipher.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cipher.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cmac.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cmac.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\compat-2.x.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\compat-2.x.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_legacy_crypto.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_legacy_from_psa.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_psa_from_legacy.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_psa_superset_legacy.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_ssl.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_x509.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_psa.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_psa.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\constant_time.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\constant_time.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ctr_drbg.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ctr_drbg.h" />
@ -41,6 +47,7 @@
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\gcm.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\gcm.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hkdf.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hkdf.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hmac_drbg.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hmac_drbg.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\lms.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\mbedtls_config.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\mbedtls_config.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md5.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md5.h" />
@ -52,6 +59,7 @@
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pk.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pk.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs12.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs12.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs5.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs5.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs7.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_time.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_time.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_util.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_util.h" />
@ -62,6 +70,7 @@
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\rsa.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\rsa.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha1.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha1.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha256.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha256.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha3.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha512.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha512.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cache.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cache.h" />
@ -75,32 +84,47 @@
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crl.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crl.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crt.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crt.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_csr.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_csr.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\build_info.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_adjust_auto_enabled.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_adjust_config_key_pair_types.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_adjust_config_synonyms.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_composites.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_composites.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_key_derivation.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_primitives.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_primitives.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_compat.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_compat.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_config.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_config.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_common.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_common.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_composites.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_composites.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_key_derivation.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_primitives.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_primitives.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_extra.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_extra.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_legacy.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_platform.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_platform.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_se_driver.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_se_driver.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_sizes.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_sizes.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_struct.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_struct.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_types.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_types.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_values.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_values.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\aesce.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\aesni.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\aesni.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_internal.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\alignment.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\base64_internal.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_core.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_mod.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_mod_raw.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_mod_raw_invasive.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bn_mul.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\bn_mul.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\check_crypto_config.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\check_crypto_config.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\cipher_wrap.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\cipher_wrap.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\common.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\common.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_impl.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_internal.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_internal.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_invasive.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_internal_alt.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_internal_alt.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_invasive.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_invasive.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\entropy_poll.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\entropy_poll.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\lmots.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\md_psa.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\md_wrap.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\md_wrap.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_common.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_common.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_error.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_error.h" />
@ -108,39 +132,49 @@
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_trace.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_trace.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\padlock.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\padlock.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pkwrite.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\pkwrite.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pk_internal.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pk_wrap.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\pk_wrap.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_aead.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_aead.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_cipher.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_cipher.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_core.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_core.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_core_common.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers_no_static.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ffdh.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_invasive.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_invasive.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_its.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_its.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_pake.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_random_impl.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_random_impl.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_se.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_se.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_slot_management.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_slot_management.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_storage.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_storage.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_util_internal.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_client.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_client.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_debug_helpers.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_debug_helpers.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_misc.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_misc.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_invasive.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_invasive.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_keys.h" /> <ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_keys.h" />
<ClInclude Include="mbedtls_config_v3.2.1.h" /> <ClInclude Include="mbedtls_config_v3.5.1.h" />
<ClInclude Include="mbedtls_freertos_port.h" /> <ClInclude Include="mbedtls_freertos_port.h" />
<ClInclude Include="threading_alt.h" /> <ClInclude Include="threading_alt.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aes.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\aes.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aesce.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aesni.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\aesni.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aria.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\aria.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\asn1parse.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\asn1parse.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\asn1write.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\asn1write.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\base64.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\base64.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum_core.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum_mod.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum_mod_raw.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\camellia.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\camellia.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ccm.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ccm.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\chacha20.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\chacha20.c" />
@ -158,12 +192,15 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecjpake.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ecjpake.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves_new.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\entropy.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\entropy.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\entropy_poll.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\entropy_poll.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\error.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\error.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\gcm.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\gcm.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\hkdf.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\hkdf.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\hmac_drbg.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\hmac_drbg.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\lmots.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\lms.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\md.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\md.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\md5.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\md5.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\memory_buffer_alloc.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\memory_buffer_alloc.c" />
@ -177,6 +214,7 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pk.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pk.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs12.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs12.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs5.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs5.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs7.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkparse.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pkparse.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkwrite.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pkwrite.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pk_wrap.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pk_wrap.c" />
@ -187,20 +225,24 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_aead.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_aead.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_cipher.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_cipher.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_client.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_client.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers_no_static.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ffdh.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_pake.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_se.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_se.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_slot_management.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_slot_management.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_storage.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_storage.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_its_file.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_its_file.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_util.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ripemd160.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ripemd160.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\rsa.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\rsa.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha1.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\sha1.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha256.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\sha256.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha3.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha512.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\sha512.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ssl_cache.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ssl_cache.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ssl_ciphersuites.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ssl_ciphersuites.c" />
@ -221,6 +263,7 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\version.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\version.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\version_features.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\version_features.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\x509.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_crt.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_crt.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_csr.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_csr.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_create.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_create.c" />
@ -281,7 +324,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h"</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\ThirdParty\mbedtls\library;..\..\ThirdParty\mbedtls\include</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\ThirdParty\mbedtls\library;..\..\ThirdParty\mbedtls\include</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
@ -295,7 +338,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h"</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>.\;..\..\ThirdParty\mbedtls\library;..\..\ThirdParty\mbedtls\include</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\ThirdParty\mbedtls\library;..\..\ThirdParty\mbedtls\include</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>

@ -21,396 +21,460 @@
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\compat-2.x.h"> <ClInclude Include="mbedtls_freertos_port.h" />
<ClInclude Include="threading_alt.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\aesce.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\aesni.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\alignment.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\base64_internal.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_core.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_mod.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_mod_raw.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_mod_raw_invasive.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bn_mul.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\check_crypto_config.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\cipher_wrap.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\common.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_impl.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_internal.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_internal_alt.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_invasive.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\entropy_poll.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\lmots.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\md_psa.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\md_wrap.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_common.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_error.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_reader.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_trace.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\padlock.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pk_internal.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pk_wrap.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pkwrite.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_aead.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_cipher.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_core.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_core_common.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers_no_static.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ffdh.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_invasive.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_its.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_pake.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_random_impl.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_se.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_slot_management.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_storage.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_util_internal.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_client.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_debug_helpers.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_misc.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_invasive.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_keys.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\aes.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pem.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\aria.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\check_config.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\error.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1write.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\oid.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\base64.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\bignum.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\build_info.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\build_info.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs5.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\camellia.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ripemd160.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ccm.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\debug.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chacha20.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chachapoly.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\version.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\check_config.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecp.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cipher.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\base64.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cmac.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\compat-2.x.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\memory_buffer_alloc.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_legacy_crypto.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_csr.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_legacy_from_psa.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_util.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_psa_from_legacy.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\poly1305.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_psa_superset_legacy.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\threading.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_ssl.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hkdf.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_x509.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md5.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_psa.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\timing.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\constant_time.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chachapoly.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ctr_drbg.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha256.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\debug.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdsa.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\des.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\nist_kw.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\dhm.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdh.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cipher.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdsa.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecjpake.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecjpake.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\net_sockets.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecp.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\entropy.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\entropy.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs12.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\error.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha512.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\gcm.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pk.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hkdf.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hmac_drbg.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_time.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\lms.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\constant_time.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\mbedtls_config.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\camellia.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crt.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md5.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\aes.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\memory_buffer_alloc.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cookie.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\net_sockets.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_psa.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\nist_kw.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\dhm.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\oid.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ctr_drbg.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pem.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chacha20.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pk.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\des.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs5.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crl.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs7.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdh.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs12.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\psa_util.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha1.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_time.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\gcm.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_util.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\poly1305.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\private_access.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\psa_util.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ripemd160.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\rsa.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\rsa.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hmac_drbg.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha1.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\private_access.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha3.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_ticket.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha256.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_ciphersuites.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha512.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cache.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cache.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cmac.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_ciphersuites.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cookie.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\bignum.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_ticket.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\aria.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\threading.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1write.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\timing.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\mbedtls_config.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\version.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ccm.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509.h">
<Filter>MbedTLS Headers\mbedtls</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_se_driver.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crl.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_extra.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crt.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_composites.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_csr.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_struct.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\build_info.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_primitives.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_primitives.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_adjust_auto_enabled.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_platform.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_adjust_config_key_pair_types.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_config.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_adjust_config_synonyms.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_composites.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_composites.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_key_derivation.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_sizes.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_primitives.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_types.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_compat.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_values.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_config.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_common.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_common.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_compat.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_composites.h">
<Filter>MbedTLS Headers\psa</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\aesni.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_key_derivation.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bignum_internal.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\bn_mul.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\check_crypto_config.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\cipher_wrap.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\common.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_internal.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\constant_time_invasive.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_internal_alt.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_invasive.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\entropy_poll.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\md_wrap.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_common.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_error.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_reader.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\mps_trace.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\padlock.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pk_wrap.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\pkwrite.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_aead.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_cipher.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_core.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_invasive.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_its.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_random_impl.h">
<Filter>MbedTLS Source</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.h">
<Filter>MbedTLS Source</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_se.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_primitives.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_slot_management.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_extra.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_storage.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_legacy.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_platform.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_client.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_se_driver.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_debug_helpers.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_sizes.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_misc.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_struct.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_invasive.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_types.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_keys.h"> <ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_values.h">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Headers\psa</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="mbedtls_config_v3.2.1.h" /> <ClInclude Include="mbedtls_config_v3.5.1.h" />
<ClInclude Include="mbedtls_freertos_port.h" />
<ClInclude Include="threading_alt.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\timing.c"> <ClCompile Include="mbedtls_freertos_port.c" />
<Filter>MbedTLS Source</Filter> <ClCompile Include="..\..\ThirdParty\mbedtls\library\aes.c">
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\version.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\version_features.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_create.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_crl.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_crt.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_csr.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_crt.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_csr.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aes.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\aesce.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aesni.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\aesni.c">
@ -431,6 +495,15 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum_core.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum_mod.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum_mod_raw.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\camellia.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\camellia.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
@ -482,6 +555,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves_new.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\entropy.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\entropy.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
@ -500,6 +576,12 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\hmac_drbg.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\hmac_drbg.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\lmots.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\lms.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\md.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\md.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
@ -539,6 +621,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs5.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs5.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs7.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs12.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs12.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
@ -569,18 +654,24 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_client.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_client.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_driver_wrappers_no_static.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ffdh.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_pake.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
@ -596,6 +687,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_its_file.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_its_file.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_util.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ripemd160.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\ripemd160.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
@ -608,6 +702,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha1.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\sha1.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha3.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha256.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\sha256.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
@ -659,6 +756,38 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\threading.c"> <ClCompile Include="..\..\ThirdParty\mbedtls\library\threading.c">
<Filter>MbedTLS Source</Filter> <Filter>MbedTLS Source</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="mbedtls_freertos_port.c" /> <ClCompile Include="..\..\ThirdParty\mbedtls\library\timing.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\version.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\version_features.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_create.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_crl.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_crt.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_csr.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_crt.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_csr.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

@ -54,7 +54,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\Source\corePKCS11\source\include;..\..\Source\corePKCS11\source\portable\os;..\..\Source\corePKCS11\source\portable\os\freertos_winsim;..\..\Source\corePKCS11\source\dependency\3rdparty\mbedtls_utils;..\..\Source\corePKCS11\source\dependency\3rdparty\pkcs11;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\Source\corePKCS11\source\include;..\..\Source\corePKCS11\source\portable\os;..\..\Source\corePKCS11\source\portable\os\freertos_winsim;..\..\Source\corePKCS11\source\dependency\3rdparty\mbedtls_utils;..\..\Source\corePKCS11\source\dependency\3rdparty\pkcs11;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>
@ -68,7 +68,7 @@
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.5.1.h";WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode> <ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\Source\corePKCS11\source\include;..\..\Source\corePKCS11\source\portable\os;..\..\Source\corePKCS11\source\portable\os\freertos_winsim;..\..\Source\corePKCS11\source\dependency\3rdparty\mbedtls_utils;..\..\Source\corePKCS11\source\dependency\3rdparty\pkcs11;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\Source\corePKCS11\source\include;..\..\Source\corePKCS11\source\portable\os;..\..\Source\corePKCS11\source\portable\os\freertos_winsim;..\..\Source\corePKCS11\source\dependency\3rdparty\mbedtls_utils;..\..\Source\corePKCS11\source\dependency\3rdparty\pkcs11;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation> <MultiProcessorCompilation>true</MultiProcessorCompilation>

@ -74,7 +74,7 @@
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Source\include;..\..\Source\portable\MSVC-MingW;..\Common\Include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS\include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\Include;.\Trace_Recorder_Configuration;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\Source\include;..\..\Source\portable\MSVC-MingW;..\Common\Include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS\include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\Include;.\Trace_Recorder_Configuration;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild> <MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>

@ -127,6 +127,12 @@ extern void vAssertCalled( unsigned long ulLine, const char * const pcFileName )
#define sbSEND_COMPLETED( pxStreamBuffer ) vGenerateCoreBInterrupt( pxStreamBuffer ) #define sbSEND_COMPLETED( pxStreamBuffer ) vGenerateCoreBInterrupt( pxStreamBuffer )
#endif /* configINCLUDE_MESSAGE_BUFFER_AMP_DEMO */ #endif /* configINCLUDE_MESSAGE_BUFFER_AMP_DEMO */
#ifdef WIN32_LEAN_AND_MEAN
#include "winsock2.h"
#else
#include <winsock.h>
#endif /* WIN32_LEAN_AND_MEAN */
/* Include the FreeRTOS+Trace FreeRTOS trace macro definitions. */ /* Include the FreeRTOS+Trace FreeRTOS trace macro definitions. */
#include "trcRecorder.h" #include "trcRecorder.h"

@ -40,7 +40,7 @@
<ClCompile> <ClCompile>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\Source\include;..\..\Source\portable\MSVC-MingW;..\Common\Include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS\include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\include;.\Trace_Recorder_Configuration;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\Source\include;..\..\Source\portable\MSVC-MingW;..\Common\Include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\kernelports\FreeRTOS\include;..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\include;.\Trace_Recorder_Configuration;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0601;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0601;WINVER=0x400;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderOutputFile>.\Debug/WIN32.pch</PrecompiledHeaderOutputFile> <PrecompiledHeaderOutputFile>.\Debug/WIN32.pch</PrecompiledHeaderOutputFile>

@ -222,9 +222,6 @@
<ClInclude Include="Trace_Recorder_Configuration\trcSnapshotConfig.h"> <ClInclude Include="Trace_Recorder_Configuration\trcSnapshotConfig.h">
<Filter>Configuration Files</Filter> <Filter>Configuration Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\Include\trcKernelPort.h">
<Filter>Demo App Source\FreeRTOS+Trace Recorder\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\Include\trcRecorder.h"> <ClInclude Include="..\..\..\FreeRTOS-Plus\Source\FreeRTOS-Plus-Trace\Include\trcRecorder.h">
<Filter>Demo App Source\FreeRTOS+Trace Recorder\include</Filter> <Filter>Demo App Source\FreeRTOS+Trace Recorder\include</Filter>
</ClInclude> </ClInclude>

@ -52,6 +52,12 @@
#include <stdlib.h> #include <stdlib.h>
#include <conio.h> #include <conio.h>
#ifdef WIN32_LEAN_AND_MEAN
#include "winsock2.h"
#else
#include <winsock.h>
#endif /* WIN32_LEAN_AND_MEAN */
/* Visual studio intrinsics used so the __debugbreak() function is available /* Visual studio intrinsics used so the __debugbreak() function is available
* should an assert get hit. */ * should an assert get hit. */
#include <intrin.h> #include <intrin.h>

@ -1,319 +1,333 @@
/* /*
* Trace Recorder for Tracealyzer v4.6.0 * Trace Recorder for Tracealyzer v4.6.0
* Copyright 2021 Percepio AB * Copyright 2021 Percepio AB
* www.percepio.com * www.percepio.com
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
* *
* Main configuration parameters for the trace recorder library. * Main configuration parameters for the trace recorder library.
* More settings can be found in trcStreamingConfig.h and trcSnapshotConfig.h. * More settings can be found in trcStreamingConfig.h and trcSnapshotConfig.h.
*/ */
#ifndef TRC_CONFIG_H #ifndef TRC_CONFIG_H
#define TRC_CONFIG_H #define TRC_CONFIG_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/****************************************************************************** /** Exclude Windows APIs such as Cryptography, DDE, RPC, Shell,
* Include of processor header file * and Windows Sockets. */
* #ifndef WIN32_LEAN_AND_MEAN
* Here you may need to include the header file for your processor. This is #define WIN32_LEAN_AND_MEAN
* required at least for the ARM Cortex-M port, that uses the ARM CMSIS API. #endif
* Try that in case of build problems. Otherwise, remove the #error line below.
*****************************************************************************/ #include <winsock2.h>
/** /* Define _WINSOCKAPI_ to ensure that winsock.h is not included */
* @def TRC_CFG_HARDWARE_PORT #ifndef _WINSOCKAPI_
* @brief Specify what hardware port to use (i.e., the "timestamping driver"). #define _WINSOCKAPI_
* #endif
* All ARM Cortex-M MCUs are supported by "TRC_HARDWARE_PORT_ARM_Cortex_M".
* This port uses the DWT cycle counter for Cortex-M3/M4/M7 devices, which is
* available on most such devices. In case your device don't have DWT support, /******************************************************************************
* you will get an error message opening the trace. In that case, you may * Include of processor header file
* force the recorder to use SysTick timestamping instead, using this define: *
* * Here you may need to include the header file for your processor. This is
* #define TRC_CFG_ARM_CM_USE_SYSTICK * required at least for the ARM Cortex-M port, that uses the ARM CMSIS API.
* * Try that in case of build problems. Otherwise, remove the #error line below.
* For ARM Cortex-M0/M0+ devices, SysTick mode is used automatically. *****************************************************************************/
*
* See trcHardwarePort.h for available ports and information on how to /**
* define your own port, if not already present. * @def TRC_CFG_HARDWARE_PORT
*/ * @brief Specify what hardware port to use (i.e., the "timestamping driver").
#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_Win32 *
* All ARM Cortex-M MCUs are supported by "TRC_HARDWARE_PORT_ARM_Cortex_M".
/** * This port uses the DWT cycle counter for Cortex-M3/M4/M7 devices, which is
* @def TRC_CFG_SCHEDULING_ONLY * available on most such devices. In case your device don't have DWT support,
* @brief Macro which should be defined as an integer value. * you will get an error message opening the trace. In that case, you may
* * force the recorder to use SysTick timestamping instead, using this define:
* If this setting is enabled (= 1), only scheduling events are recorded. *
* If disabled (= 0), all events are recorded (unless filtered in other ways). * #define TRC_CFG_ARM_CM_USE_SYSTICK
* *
* Default value is 0 (= include additional events). * For ARM Cortex-M0/M0+ devices, SysTick mode is used automatically.
*/ *
#define TRC_CFG_SCHEDULING_ONLY 0 * See trcHardwarePort.h for available ports and information on how to
* define your own port, if not already present.
/** */
* @def TRC_CFG_INCLUDE_MEMMANG_EVENTS #define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_Win32
* @brief Macro which should be defined as either zero (0) or one (1).
* /**
* This controls if malloc and free calls should be traced. Set this to zero (0) * @def TRC_CFG_SCHEDULING_ONLY
* to exclude malloc/free calls, or one (1) to include such events in the trace. * @brief Macro which should be defined as an integer value.
* *
* Default value is 1. * If this setting is enabled (= 1), only scheduling events are recorded.
*/ * If disabled (= 0), all events are recorded (unless filtered in other ways).
#define TRC_CFG_INCLUDE_MEMMANG_EVENTS 1 *
* Default value is 0 (= include additional events).
/** */
* @def TRC_CFG_INCLUDE_USER_EVENTS #define TRC_CFG_SCHEDULING_ONLY 0
* @brief Macro which should be defined as either zero (0) or one (1).
* /**
* If this is zero (0), all code related to User Events is excluded in order * @def TRC_CFG_INCLUDE_MEMMANG_EVENTS
* to reduce code size. Any attempts of storing User Events are then silently * @brief Macro which should be defined as either zero (0) or one (1).
* ignored. *
* * This controls if malloc and free calls should be traced. Set this to zero (0)
* User Events are application-generated events, like "printf" but for the * to exclude malloc/free calls, or one (1) to include such events in the trace.
* trace log, generated using vTracePrint and vTracePrintF. *
* The formatting is done on host-side, by Tracealyzer. User Events are * Default value is 1.
* therefore much faster than a console printf and can often be used */
* in timing critical code without problems. #define TRC_CFG_INCLUDE_MEMMANG_EVENTS 1
*
* Note: In streaming mode, User Events are used to provide error messages /**
* and warnings from the recorder (in case of incorrect configuration) for * @def TRC_CFG_INCLUDE_USER_EVENTS
* display in Tracealyzer. Disabling user events will also disable these * @brief Macro which should be defined as either zero (0) or one (1).
* warnings. You can however still catch them by calling xTraceErrorGetLast *
* or by putting breakpoints in xTraceError and xTraceWarning. * If this is zero (0), all code related to User Events is excluded in order
* * to reduce code size. Any attempts of storing User Events are then silently
* Default value is 1. * ignored.
*/ *
#define TRC_CFG_INCLUDE_USER_EVENTS 1 * User Events are application-generated events, like "printf" but for the
* trace log, generated using vTracePrint and vTracePrintF.
/** * The formatting is done on host-side, by Tracealyzer. User Events are
* @def TRC_CFG_INCLUDE_ISR_TRACING * therefore much faster than a console printf and can often be used
* @brief Macro which should be defined as either zero (0) or one (1). * in timing critical code without problems.
* *
* If this is zero (0), the code for recording Interrupt Service Routines is * Note: In streaming mode, User Events are used to provide error messages
* excluded, in order to reduce code size. This means that any calls to * and warnings from the recorder (in case of incorrect configuration) for
* vTraceStoreISRBegin/vTraceStoreISREnd will be ignored. * display in Tracealyzer. Disabling user events will also disable these
* This does not completely disable ISR tracing, in cases where an ISR is * warnings. You can however still catch them by calling xTraceErrorGetLast
* calling a traced kernel service. These events will still be recorded and * or by putting breakpoints in xTraceError and xTraceWarning.
* show up in anonymous ISR instances in Tracealyzer, with names such as *
* "ISR sending to <queue name>". * Default value is 1.
* To disable such tracing, please refer to vTraceSetFilterGroup and */
* vTraceSetFilterMask. #define TRC_CFG_INCLUDE_USER_EVENTS 1
*
* Default value is 1. /**
* * @def TRC_CFG_INCLUDE_ISR_TRACING
* Note: tracing ISRs requires that you insert calls to vTraceStoreISRBegin * @brief Macro which should be defined as either zero (0) or one (1).
* and vTraceStoreISREnd in your interrupt handlers. *
*/ * If this is zero (0), the code for recording Interrupt Service Routines is
#define TRC_CFG_INCLUDE_ISR_TRACING 1 * excluded, in order to reduce code size. This means that any calls to
* vTraceStoreISRBegin/vTraceStoreISREnd will be ignored.
/** * This does not completely disable ISR tracing, in cases where an ISR is
* @def TRC_CFG_INCLUDE_READY_EVENTS * calling a traced kernel service. These events will still be recorded and
* @brief Macro which should be defined as either zero (0) or one (1). * show up in anonymous ISR instances in Tracealyzer, with names such as
* * "ISR sending to <queue name>".
* If one (1), events are recorded when tasks enter scheduling state "ready". * To disable such tracing, please refer to vTraceSetFilterGroup and
* This allows Tracealyzer to show the initial pending time before tasks enter * vTraceSetFilterMask.
* the execution state, and present accurate response times. *
* If zero (0), "ready events" are not created, which allows for recording * Default value is 1.
* longer traces in the same amount of RAM. *
* * Note: tracing ISRs requires that you insert calls to vTraceStoreISRBegin
* Default value is 1. * and vTraceStoreISREnd in your interrupt handlers.
*/ */
#define TRC_CFG_INCLUDE_READY_EVENTS 1 #define TRC_CFG_INCLUDE_ISR_TRACING 1
/** /**
* @def TRC_CFG_INCLUDE_OSTICK_EVENTS * @def TRC_CFG_INCLUDE_READY_EVENTS
* @brief Macro which should be defined as either zero (0) or one (1). * @brief Macro which should be defined as either zero (0) or one (1).
* *
* If this is one (1), events will be generated whenever the OS clock is * If one (1), events are recorded when tasks enter scheduling state "ready".
* increased. If zero (0), OS tick events are not generated, which allows for * This allows Tracealyzer to show the initial pending time before tasks enter
* recording longer traces in the same amount of RAM. * the execution state, and present accurate response times.
* * If zero (0), "ready events" are not created, which allows for recording
* Default value is 1. * longer traces in the same amount of RAM.
*/ *
#define TRC_CFG_INCLUDE_OSTICK_EVENTS 1 * Default value is 1.
*/
/** #define TRC_CFG_INCLUDE_READY_EVENTS 1
* @def TRC_CFG_ENABLE_STACK_MONITOR
* @brief If enabled (1), the recorder periodically reports the unused stack space of /**
* all active tasks. * @def TRC_CFG_INCLUDE_OSTICK_EVENTS
* The stack monitoring runs in the Tracealyzer Control task, TzCtrl. This task * @brief Macro which should be defined as either zero (0) or one (1).
* is always created by the recorder when in streaming mode. *
* In snapshot mode, the TzCtrl task is only used for stack monitoring and is * If this is one (1), events will be generated whenever the OS clock is
* not created unless this is enabled. * increased. If zero (0), OS tick events are not generated, which allows for
*/ * recording longer traces in the same amount of RAM.
#define TRC_CFG_ENABLE_STACK_MONITOR 1 *
* Default value is 1.
/** */
* @def TRC_CFG_STACK_MONITOR_MAX_TASKS #define TRC_CFG_INCLUDE_OSTICK_EVENTS 1
* @brief Macro which should be defined as a non-zero integer value.
* /**
* This controls how many tasks that can be monitored by the stack monitor. * @def TRC_CFG_ENABLE_STACK_MONITOR
* If this is too small, some tasks will be excluded and a warning is shown. * @brief If enabled (1), the recorder periodically reports the unused stack space of
* * all active tasks.
* Default value is 10. * The stack monitoring runs in the Tracealyzer Control task, TzCtrl. This task
*/ * is always created by the recorder when in streaming mode.
#define TRC_CFG_STACK_MONITOR_MAX_TASKS 50 * In snapshot mode, the TzCtrl task is only used for stack monitoring and is
* not created unless this is enabled.
/** */
* @def TRC_CFG_STACK_MONITOR_MAX_REPORTS #define TRC_CFG_ENABLE_STACK_MONITOR 1
* @brief Macro which should be defined as a non-zero integer value.
* /**
* This defines how many tasks that will be subject to stack usage analysis for * @def TRC_CFG_STACK_MONITOR_MAX_TASKS
* each execution of the Tracealyzer Control task (TzCtrl). Note that the stack * @brief Macro which should be defined as a non-zero integer value.
* monitoring cycles between the tasks, so this does not affect WHICH tasks that *
* are monitored, but HOW OFTEN each task stack is analyzed. * This controls how many tasks that can be monitored by the stack monitor.
* * If this is too small, some tasks will be excluded and a warning is shown.
* This setting can be combined with TRC_CFG_CTRL_TASK_DELAY to tune the *
* frequency of the stack monitoring. This is motivated since the stack analysis * Default value is 10.
* can take some time to execute. */
* However, note that the stack analysis runs in a separate task (TzCtrl) that #define TRC_CFG_STACK_MONITOR_MAX_TASKS 50
* can be executed on low priority. This way, you can avoid that the stack
* analysis disturbs any time-sensitive tasks. /**
* * @def TRC_CFG_STACK_MONITOR_MAX_REPORTS
* Default value is 1. * @brief Macro which should be defined as a non-zero integer value.
*/ *
#define TRC_CFG_STACK_MONITOR_MAX_REPORTS 1 * This defines how many tasks that will be subject to stack usage analysis for
* each execution of the Tracealyzer Control task (TzCtrl). Note that the stack
/** * monitoring cycles between the tasks, so this does not affect WHICH tasks that
* @def TRC_CFG_CTRL_TASK_PRIORITY * are monitored, but HOW OFTEN each task stack is analyzed.
* @brief The scheduling priority of the Tracealyzer Control (TzCtrl) task. *
* * This setting can be combined with TRC_CFG_CTRL_TASK_DELAY to tune the
* In streaming mode, TzCtrl is used to receive start/stop commands from * frequency of the stack monitoring. This is motivated since the stack analysis
* Tracealyzer and in some cases also to transmit the trace data (for stream * can take some time to execute.
* ports that uses the internal buffer, like TCP/IP). For such stream ports, * However, note that the stack analysis runs in a separate task (TzCtrl) that
* make sure the TzCtrl priority is high enough to ensure reliable periodic * can be executed on low priority. This way, you can avoid that the stack
* execution and transfer of the data, but low enough to avoid disturbing any * analysis disturbs any time-sensitive tasks.
* time-sensitive functions. *
* * Default value is 1.
* In Snapshot mode, TzCtrl is only used for the stack usage monitoring and is */
* not created if stack monitoring is disabled. TRC_CFG_CTRL_TASK_PRIORITY should #define TRC_CFG_STACK_MONITOR_MAX_REPORTS 1
* be low, to avoid disturbing any time-sensitive tasks.
*/ /**
#define TRC_CFG_CTRL_TASK_PRIORITY 1 * @def TRC_CFG_CTRL_TASK_PRIORITY
* @brief The scheduling priority of the Tracealyzer Control (TzCtrl) task.
/** *
* @def TRC_CFG_CTRL_TASK_DELAY * In streaming mode, TzCtrl is used to receive start/stop commands from
* @brief The delay between loops of the TzCtrl task (see TRC_CFG_CTRL_TASK_PRIORITY), * Tracealyzer and in some cases also to transmit the trace data (for stream
* which affects the frequency of the stack monitoring. * ports that uses the internal buffer, like TCP/IP). For such stream ports,
* * make sure the TzCtrl priority is high enough to ensure reliable periodic
* In streaming mode, this also affects the trace data transfer if you are using * execution and transfer of the data, but low enough to avoid disturbing any
* a stream port leveraging the internal buffer (like TCP/IP). A shorter delay * time-sensitive functions.
* increases the CPU load of TzCtrl somewhat, but may improve the performance of *
* of the trace streaming, especially if the trace buffer is small. * In Snapshot mode, TzCtrl is only used for the stack usage monitoring and is
*/ * not created if stack monitoring is disabled. TRC_CFG_CTRL_TASK_PRIORITY should
#define TRC_CFG_CTRL_TASK_DELAY 2 * be low, to avoid disturbing any time-sensitive tasks.
*/
/** #define TRC_CFG_CTRL_TASK_PRIORITY 1
* @def TRC_CFG_CTRL_TASK_STACK_SIZE
* @brief The stack size of the Tracealyzer Control (TzCtrl) task. /**
* See TRC_CFG_CTRL_TASK_PRIORITY for further information about TzCtrl. * @def TRC_CFG_CTRL_TASK_DELAY
*/ * @brief The delay between loops of the TzCtrl task (see TRC_CFG_CTRL_TASK_PRIORITY),
#define TRC_CFG_CTRL_TASK_STACK_SIZE 1024 * which affects the frequency of the stack monitoring.
*
/** * In streaming mode, this also affects the trace data transfer if you are using
* @def TRC_CFG_RECORDER_BUFFER_ALLOCATION * a stream port leveraging the internal buffer (like TCP/IP). A shorter delay
* @brief Specifies how the recorder buffer is allocated (also in case of streaming, in * increases the CPU load of TzCtrl somewhat, but may improve the performance of
* port using the recorder's internal temporary buffer) * of the trace streaming, especially if the trace buffer is small.
* */
* Values: #define TRC_CFG_CTRL_TASK_DELAY 2
* TRC_RECORDER_BUFFER_ALLOCATION_STATIC - Static allocation (internal)
* TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC - Malloc in vTraceEnable /**
* TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM - Use vTraceSetRecorderDataBuffer * @def TRC_CFG_CTRL_TASK_STACK_SIZE
* * @brief The stack size of the Tracealyzer Control (TzCtrl) task.
* Static and dynamic mode does the allocation for you, either in compile time * See TRC_CFG_CTRL_TASK_PRIORITY for further information about TzCtrl.
* (static) or in runtime (malloc). */
* The custom mode allows you to control how and where the allocation is made, #define TRC_CFG_CTRL_TASK_STACK_SIZE 1024
* for details see TRC_ALLOC_CUSTOM_BUFFER and vTraceSetRecorderDataBuffer().
*/ /**
#define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_STATIC * @def TRC_CFG_RECORDER_BUFFER_ALLOCATION
* @brief Specifies how the recorder buffer is allocated (also in case of streaming, in
/** * port using the recorder's internal temporary buffer)
* @def TRC_CFG_MAX_ISR_NESTING *
* @brief Defines how many levels of interrupt nesting the recorder can handle, in * Values:
* case multiple ISRs are traced and ISR nesting is possible. If this * TRC_RECORDER_BUFFER_ALLOCATION_STATIC - Static allocation (internal)
* is exceeded, the particular ISR will not be traced and the recorder then * TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC - Malloc in vTraceEnable
* logs an error message. This setting is used to allocate an internal stack * TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM - Use vTraceSetRecorderDataBuffer
* for keeping track of the previous execution context (4 byte per entry). *
* * Static and dynamic mode does the allocation for you, either in compile time
* This value must be a non-zero positive constant, at least 1. * (static) or in runtime (malloc).
* * The custom mode allows you to control how and where the allocation is made,
* Default value: 8 * for details see TRC_ALLOC_CUSTOM_BUFFER and vTraceSetRecorderDataBuffer().
*/ */
#define TRC_CFG_MAX_ISR_NESTING 8 #define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_STATIC
/** /**
* @def TRC_CFG_ISR_TAILCHAINING_THRESHOLD * @def TRC_CFG_MAX_ISR_NESTING
* @brief Macro which should be defined as an integer value. * @brief Defines how many levels of interrupt nesting the recorder can handle, in
* * case multiple ISRs are traced and ISR nesting is possible. If this
* If tracing multiple ISRs, this setting allows for accurate display of the * is exceeded, the particular ISR will not be traced and the recorder then
* context-switching also in cases when the ISRs execute in direct sequence. * logs an error message. This setting is used to allocate an internal stack
* * for keeping track of the previous execution context (4 byte per entry).
* vTraceStoreISREnd normally assumes that the ISR returns to the previous *
* context, i.e., a task or a preempted ISR. But if another traced ISR * This value must be a non-zero positive constant, at least 1.
* executes in direct sequence, Tracealyzer may incorrectly display a minimal *
* fragment of the previous context in between the ISRs. * Default value: 8
* */
* By using TRC_CFG_ISR_TAILCHAINING_THRESHOLD you can avoid this. This is #define TRC_CFG_MAX_ISR_NESTING 8
* however a threshold value that must be measured for your specific setup.
* See http://percepio.com/2014/03/21/isr_tailchaining_threshold/ /**
* * @def TRC_CFG_ISR_TAILCHAINING_THRESHOLD
* The default setting is 0, meaning "disabled" and that you may get an * @brief Macro which should be defined as an integer value.
* extra fragments of the previous context in between tail-chained ISRs. *
* * If tracing multiple ISRs, this setting allows for accurate display of the
* Note: This setting has separate definitions in trcSnapshotConfig.h and * context-switching also in cases when the ISRs execute in direct sequence.
* trcStreamingConfig.h, since it is affected by the recorder mode. *
*/ * vTraceStoreISREnd normally assumes that the ISR returns to the previous
#define TRC_CFG_ISR_TAILCHAINING_THRESHOLD 0 * context, i.e., a task or a preempted ISR. But if another traced ISR
* executes in direct sequence, Tracealyzer may incorrectly display a minimal
/** * fragment of the previous context in between the ISRs.
* @def TRC_CFG_RECORDER_DATA_INIT *
* @brief Macro which states wether the recorder data should have an initial value. * By using TRC_CFG_ISR_TAILCHAINING_THRESHOLD you can avoid this. This is
* * however a threshold value that must be measured for your specific setup.
* In very specific cases where traced objects are created before main(), * See http://percepio.com/2014/03/21/isr_tailchaining_threshold/
* the recorder will need to be started even before that. In these cases, *
* the recorder data would be initialized by vTraceEnable(TRC_INIT) but could * The default setting is 0, meaning "disabled" and that you may get an
* then later be overwritten by the initialization value. * extra fragments of the previous context in between tail-chained ISRs.
* If this is an issue for you, set TRC_CFG_RECORDER_DATA_INIT to 0. *
* The following code can then be used before any traced objects are created: * Note: This setting has separate definitions in trcSnapshotConfig.h and
* * trcStreamingConfig.h, since it is affected by the recorder mode.
* extern uint32_t RecorderEnabled; */
* RecorderEnabled = 0; #define TRC_CFG_ISR_TAILCHAINING_THRESHOLD 0
* xTraceInitialize();
* /**
* After the clocks are properly initialized, use vTraceEnable(...) to start * @def TRC_CFG_RECORDER_DATA_INIT
* the tracing. * @brief Macro which states wether the recorder data should have an initial value.
* *
* Default value is 1. * In very specific cases where traced objects are created before main(),
*/ * the recorder will need to be started even before that. In these cases,
#define TRC_CFG_RECORDER_DATA_INIT 1 * the recorder data would be initialized by vTraceEnable(TRC_INIT) but could
* then later be overwritten by the initialization value.
/** * If this is an issue for you, set TRC_CFG_RECORDER_DATA_INIT to 0.
* @def TRC_CFG_RECORDER_DATA_ATTRIBUTE * The following code can then be used before any traced objects are created:
* @brief When setting TRC_CFG_RECORDER_DATA_INIT to 0, you might also need to make *
* sure certain recorder data is placed in a specific RAM section to avoid being * extern uint32_t RecorderEnabled;
* zeroed out after initialization. Define TRC_CFG_RECORDER_DATA_ATTRIBUTE as * RecorderEnabled = 0;
* that attribute. * xTraceInitialize();
* *
* Example: * After the clocks are properly initialized, use vTraceEnable(...) to start
* #define TRC_CFG_RECORDER_DATA_ATTRIBUTE __attribute__((section(".bss.trace_recorder_data"))) * the tracing.
* *
* Default value is empty. * Default value is 1.
*/ */
#define TRC_CFG_RECORDER_DATA_ATTRIBUTE #define TRC_CFG_RECORDER_DATA_INIT 1
/** /**
* @def TRC_CFG_USE_TRACE_ASSERT * @def TRC_CFG_RECORDER_DATA_ATTRIBUTE
* @brief Enable or disable debug asserts. Information regarding any assert that is * @brief When setting TRC_CFG_RECORDER_DATA_INIT to 0, you might also need to make
* triggered will be in trcAssert.c. * sure certain recorder data is placed in a specific RAM section to avoid being
*/ * zeroed out after initialization. Define TRC_CFG_RECORDER_DATA_ATTRIBUTE as
#define TRC_CFG_USE_TRACE_ASSERT 0 * that attribute.
*
#ifdef __cplusplus * Example:
} * #define TRC_CFG_RECORDER_DATA_ATTRIBUTE __attribute__((section(".bss.trace_recorder_data")))
#endif *
* Default value is empty.
#endif /* _TRC_CONFIG_H */ */
#define TRC_CFG_RECORDER_DATA_ATTRIBUTE
/**
* @def TRC_CFG_USE_TRACE_ASSERT
* @brief Enable or disable debug asserts. Information regarding any assert that is
* triggered will be in trcAssert.c.
*/
#define TRC_CFG_USE_TRACE_ASSERT 0
#ifdef __cplusplus
}
#endif
#endif /* _TRC_CONFIG_H */

@ -54,7 +54,7 @@ dependencies:
path: "FreeRTOS-Plus/Source/Application-Protocols/coreMQTT-Agent" path: "FreeRTOS-Plus/Source/Application-Protocols/coreMQTT-Agent"
- name: "corePKCS11" - name: "corePKCS11"
version: "6ddc35e" version: "8b5ec3b3e"
repository: repository:
type: "git" type: "git"
url: "https://github.com/FreeRTOS/corePKCS11.git" url: "https://github.com/FreeRTOS/corePKCS11.git"
@ -89,7 +89,7 @@ dependencies:
path: "FreeRTOS-Plus/ThirdParty/wolfSSL" path: "FreeRTOS-Plus/ThirdParty/wolfSSL"
- name: "mbedtls" - name: "mbedtls"
version: "v3.2.1" version: "v3.5.1"
repository: repository:
type: "git" type: "git"
url: "https://github.com/Mbed-TLS/mbedtls.git" url: "https://github.com/Mbed-TLS/mbedtls.git"

Loading…
Cancel
Save