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

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

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

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -33,27 +21,6 @@
<CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -62,85 +29,20 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_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|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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>

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

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -33,27 +21,6 @@
<CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -62,85 +29,20 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_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|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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>

@ -6,11 +6,16 @@ from cryptography import x509
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
KEY_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Key.dat"
CERT_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Certificate.dat"
# Get the absolute path of this script
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):
# Convert certificate from PEM to DER
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:
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(
bytes(cert_pem, "utf-8"), default_backend())
with open(f"{CERT_OUT_NAME}", "wb") as cert_out:
cert_out.write(cert.public_bytes(serialization.Encoding.DER))
print(
f"Successfully converted certificate PEM to DER. Output file named: {CERT_OUT_NAME}"
)
print(f"Successfully converted certificate PEM to DER. Output file named:\n\t{CERT_OUT_NAME}")
def main(args):
with open(args.cert_file, "r") as cert:

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

@ -4,17 +4,98 @@ import os
import argparse
import boto3
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
KEY_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Key.dat"
CERT_OUT_NAME = f"{os.getcwd()}\\corePKCS11_Claim_Certificate.dat"
RESOURCE_STACK_NAME = "FPDemoStack"
script_file_dir_abs_path = os.path.abspath(os.path.dirname(__file__))
cf = boto3.client("cloudformation")
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
def convert_cf_arn_to_link(arn):
region = arn.split(":")[3]
@ -43,8 +124,11 @@ def create_resources():
stack_response["StackStatus"])
print()
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."
+ "\nView the stack in the CloudFormation console here:\n" + convert_cf_arn_to_link(stack_response["StackId"]))
raise Exception(
"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:
# Read the cloudformation template file contained in the same directory
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.")
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
def get_args():
parser = argparse.ArgumentParser(description="Fleet Provisioning Demo setup script.")
@ -116,16 +163,29 @@ def get_args():
# Parse arguments and execute appropriate functions
def main():
# Check arguments and go appropriately
args = get_args();
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.")
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()
print("\n----------------------- End Create Cloud Stack Resources -----------------------\n")
print("\n-------------------------- Start Creating Credentials --------------------------\n")
create_credentials()
print("\n--------------------------- End Creating Credentials ---------------------------\n")
print("\n--------------------------- Start Update Demo Config ---------------------------\n")
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__":

@ -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
* 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).
*/
#define fpdemoCSR_BUFFER_LENGTH 2048
#define fpdemoCSR_BUFFER_LENGTH 4096
/**
* @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.
*
* 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
/**
* @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.
@ -203,7 +204,7 @@ static size_t xThingNameLength;
* APIs. When the MQTT publish callback receives an expected Fleet Provisioning
* 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
@ -646,6 +647,12 @@ int prvFleetProvisioningTask( void * pvParameters )
* topics. In this demo we use CBOR encoding for the payloads,
* so we use the CBOR variants of the topics. */
xStatus = prvSubscribeToCsrResponseTopics();
if( xStatus == true )
{
/* Subscribe to the RegisterThing response topics. */
xStatus = prvSubscribeToRegisterThingResponseTopics();
}
}
if( xStatus == true )
@ -727,12 +734,6 @@ int prvFleetProvisioningTask( void * pvParameters )
&xPayloadLength );
}
if( xStatus == true )
{
/* Subscribe to the RegisterThing response topics. */
xStatus = prvSubscribeToRegisterThingResponseTopics();
}
if( xStatus == true )
{
/* Publish the RegisterThing request. */

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -33,26 +21,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -61,28 +29,10 @@
<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" />
</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 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>
</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">
<VcpkgEnabled>false</VcpkgEnabled>
</PropertyGroup>
@ -90,61 +40,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.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>
<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>
@ -152,8 +48,6 @@
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>

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

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -33,27 +21,6 @@
<CharacterSet>Unicode</CharacterSet>
<PreferredToolArchitecture>x86</PreferredToolArchitecture>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -62,85 +29,20 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_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|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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>

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

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -60,89 +28,21 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -33,26 +21,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -61,89 +29,21 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<TargetName>RTOSDemo</TargetName>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>

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

@ -36,7 +36,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>

@ -37,7 +37,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -60,90 +28,24 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</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";_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>
<ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt.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
</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>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

@ -5,26 +5,10 @@
<Configuration>Debug_with_Libslirp</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_with_Libslirp|x64">
<Configuration>Debug_with_Libslirp</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -46,32 +30,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -83,18 +41,6 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
@ -102,23 +48,11 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<LinkIncremental>true</LinkIncremental>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</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>
</PostBuildEvent>
</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>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_x25519_128.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mont_small.i" />

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -60,15 +28,6 @@
<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" />
</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="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -60,15 +28,6 @@
<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" />
</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="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -60,15 +28,6 @@
<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" />
</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="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>

@ -201,7 +201,7 @@ extern void vLoggingPrintf( const char * pcFormatString,
/**
* @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.

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -60,15 +28,6 @@
<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" />
</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="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>

@ -5,18 +5,6 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -32,26 +20,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -60,15 +28,6 @@
<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" />
</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="Vcpkg">
<VcpkgEnabled>false</VcpkgEnabled>
@ -77,62 +36,12 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>MBEDTLS_CONFIG_FILE="mbedtls_config_v3.2.1.h";_CRT_SECURE_NO_WARNINGS;WIN32;_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>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>

@ -125,7 +125,7 @@
/**
* @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.
@ -160,7 +160,7 @@
* @brief Timeout for MQTT_ProcessLoop in milliseconds.
* 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
@ -443,11 +443,12 @@ void vStartSimpleMQTTDemo( void )
* state or call the MQTT_ProcessLoop() API function. Using an agent task
* also enables multiple application tasks to more easily share a single
* MQTT connection. */
xTaskCreate( prvMQTTDemoTask, /* Function that implements the task. */
"DemoTask", /* Text name for the task - only used for debugging. */
democonfigDEMO_STACKSIZE, /* Size of stack (in words, not bytes) to allocate for the task. */
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. */
}
/*-----------------------------------------------------------*/

@ -52,7 +52,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
@ -65,7 +65,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>

@ -43,7 +43,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>

@ -36,7 +36,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>

@ -52,9 +52,9 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
<Link>
<SubSystem>Console</SubSystem>
@ -65,7 +65,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>

@ -60,7 +60,7 @@
<ClCompile>
<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>
<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>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@ -109,7 +109,7 @@
<ClCompile>
<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>
<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>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

@ -52,7 +52,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
@ -65,7 +65,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>

@ -5,26 +5,10 @@
<Configuration>Debug_with_Libslirp</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_with_Libslirp|x64">
<Configuration>Debug_with_Libslirp</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</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>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
@ -46,32 +30,6 @@
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</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" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@ -83,18 +41,6 @@
<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" />
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
@ -102,23 +48,11 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<LinkIncremental>true</LinkIncremental>
</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'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
@ -131,7 +65,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
@ -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>
</PostBuildEvent>
</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>
<ClCompile Include="..\..\..\Source\Application-Protocols\coreMQTT\source\core_mqtt_serializer.c" />
<ClCompile Include="..\..\..\Source\Application-Protocols\network_transport\mbedtls_bio_tcp_sockets_wrapper.c" />

@ -39,7 +39,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>

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

@ -49,7 +49,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<AdditionalIncludeDirectories>.;examples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
@ -63,7 +63,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<AdditionalIncludeDirectories>.;examples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>

@ -39,7 +39,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
</AdditionalIncludeDirectories>

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

@ -40,7 +40,22 @@
#include <string.h>
/* 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/asn1.h"
@ -53,6 +68,9 @@
#include "core_pkcs11_config.h"
#include "core_pkcs11.h"
/* PKCS11 Includes */
#include "pkcs11t.h"
/*-----------------------------------------------------------*/
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.
* @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_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle );
@ -119,7 +137,7 @@ static void p11_ecdsa_ctx_free( void * pvCtx );
* @return 0 on success
* @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,
const unsigned char * pucHash,
size_t xHashLen,
@ -135,7 +153,7 @@ static int p11_ecdsa_sign( void * pvCtx,
* @param pvCtx Void pointer to the relevant P11EcDsaCtx_t.
* @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.
@ -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.
*
* 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
* 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
* @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,
const unsigned char * pucHash,
size_t xHashLen,
@ -168,11 +186,11 @@ static int p11_ecdsa_verify( void * pvCtx,
size_t xSigLen );
static int p11_ecdsa_check_pair( const void * pvPub,
const void * pvPrv,
const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ),
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 );
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_verify( void * pvCtx,
static int p11_rsa_verify( mbedtls_pk_context * pxMbedtlsPkCtx,
mbedtls_md_type_t xMdAlg,
const unsigned char * pucHash,
size_t xHashLen,
const unsigned char * pucSig,
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,
const unsigned char * hash,
size_t hash_len,
@ -235,20 +253,20 @@ static int p11_rsa_sign( void * ctx,
void * p_rng );
static int p11_rsa_check_pair( const void * pvPub,
const void * pvPrv,
const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ),
void * pvPRng );
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_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle );
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 );
/*-----------------------------------------------------------*/
@ -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_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle )
{
CK_RV xResult = CKR_OK;
P11EcDsaCtx_t * pxP11EcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
P11EcDsaCtx_t * pxP11EcDsaCtx = ( P11EcDsaCtx_t * ) pk;
mbedtls_ecdsa_context * pxMbedEcDsaCtx = NULL;
configASSERT( pxFunctionList != NULL );
@ -441,95 +459,98 @@ static CK_RV p11_ecdsa_ctx_init( void * pvCtx,
}
else
{
LogError( ( "Received a NULL mbedtls_pk_context" ) );
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( pxAttrs[ 0 ].ulValueLen > 0 )
/* Initialize public EC parameter data from attributes */
CK_ATTRIBUTE pxAttrs[ 2 ] =
{
pxAttrs[ 0 ].pValue = pvPortMalloc( pxAttrs[ 0 ].ulValueLen );
}
if( pxAttrs[ 1 ].ulValueLen > 0 )
{
pxAttrs[ 1 ].pValue = pvPortMalloc( pxAttrs[ 1 ].ulValueLen );
}
{ .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,
2 );
}
sizeof( pxAttrs ) / sizeof( CK_ATTRIBUTE ) );
/* Parse EC Group */
if( xResult == CKR_OK )
{
/*TODO: Parse the ECParameters object */
int lResult = mbedtls_ecp_group_load( &( pxMbedEcDsaCtx->grp ), MBEDTLS_ECP_DP_SECP256R1 );
if( lResult != 0 )
if( xResult == CKR_OK )
{
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 */
if( xResult == CKR_OK )
{
unsigned char * pucIterator = pxAttrs[ 1 ].pValue;
size_t uxLen = pxAttrs[ 1 ].ulValueLen;
int lResult = 0;
/* Parse EC Group */
if( xResult == CKR_OK )
{
/*TODO: Parse the ECParameters object */
int lResult = mbedtls_ecp_group_load( &( pxMbedEcDsaCtx->grp ), MBEDTLS_ECP_DP_SECP256R1 );
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 ),
&( pxMbedEcDsaCtx->Q ),
pucIterator,
uxLen );
vPortFree( pxAttrs[ 0 ].pValue );
}
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 )
{
vPortFree( pxAttrs[ 1 ].pValue );
}
if( xResult == CKR_OK )
{
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;
@ -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,
const unsigned char * pucHash,
size_t xHashLen,
@ -668,7 +689,7 @@ static int p11_ecdsa_sign( void * pvCtx,
{
CK_RV xResult = CKR_OK;
int32_t lFinalResult = 0;
const P11EcDsaCtx_t * pxEcDsaCtx = NULL;
const P11EcDsaCtx_t * pxEcDsaCtx = ( P11EcDsaCtx_t * ) pk->pk_ctx;
const P11PkCtx_t * pxP11Ctx = NULL;
unsigned char pucHashCopy[ MBEDTLS_MD_MAX_SIZE ];
@ -690,9 +711,8 @@ static int p11_ecdsa_sign( void * pvCtx,
configASSERT( pucHash != NULL );
configASSERT( xHashLen > 0 );
if( pvCtx != NULL )
if( pxEcDsaCtx != NULL )
{
pxEcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
pxP11Ctx = &( pxEcDsaCtx->xP11PkCtx );
}
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 );
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,
const unsigned char * pucHash,
size_t xHashLen,
const unsigned char * pucSig,
size_t xSigLen )
{
P11EcDsaCtx_t * pxEcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
configASSERT( mbedtls_ecdsa_info.verify_func );
return mbedtls_ecdsa_info.verify_func( &( pxEcDsaCtx->xMbedEcDsaCtx ),
return mbedtls_ecdsa_info.verify_func( pxMbedtlsPkCtx,
xMdAlg,
pucHash, xHashLen,
pucSig, xSigLen );
@ -777,14 +793,15 @@ static int p11_ecdsa_verify( void * pvCtx,
/*-----------------------------------------------------------*/
static int p11_ecdsa_check_pair( const void * pvPub,
const void * pvPrv,
const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ),
void * pvPRng )
{
P11EcDsaCtx_t * pxP11PrvKey = ( P11EcDsaCtx_t * ) pxMbedtlsPkCtx->pk_ctx;
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;
( 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 };
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 ),
pucTestSignature, sizeof( pucTestSignature ), &uxSigLen,
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 )
{
P11EcDsaCtx_t * pxEcDsaCtx = ( P11EcDsaCtx_t * ) pvCtx;
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 );
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 )
{
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,
const unsigned char * pucHash,
size_t xHashLen,
const unsigned char * pucSig,
size_t xSigLen )
{
P11RsaCtx_t * pxRsaCtx = ( P11RsaCtx_t * ) pvCtx;
configASSERT( mbedtls_rsa_info.verify_func );
return mbedtls_rsa_info.verify_func( &( pxRsaCtx->xMbedRsaCtx ),
return mbedtls_rsa_info.verify_func( pxMbedtlsPkCtx,
xMdAlg,
pucHash, xHashLen,
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,
const unsigned char * pucHash,
size_t xHashLen,
@ -942,9 +955,9 @@ static int p11_rsa_sign( void * pvCtx,
{
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 );
}
else
@ -990,16 +1003,16 @@ static int p11_rsa_sign( void * pvCtx,
/*-----------------------------------------------------------*/
static int p11_rsa_check_pair( const void * pvPub,
const void * pvPrv,
const mbedtls_pk_context * pxMbedtlsPkCtx,
int ( * lFRng )( void *, unsigned char *, size_t ),
void * pvPRng )
{
P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pvPrv;
configASSERT( mbedtls_rsa_info.check_pair_func );
return mbedtls_rsa_info.check_pair_func( pvPub, &( pxP11RsaCtx->xMbedRsaCtx ),
lFRng, pvPRng );
return mbedtls_rsa_info.check_pair_func( pvPub,
pxMbedtlsPkCtx,
lFRng,
pvPRng );
}
/*-----------------------------------------------------------*/
@ -1012,14 +1025,14 @@ static void * p11_rsa_ctx_alloc( void )
if( pvCtx != NULL )
{
P11RsaCtx_t * pxP11Rsa = ( P11RsaCtx_t * ) pvCtx;
P11RsaCtx_t * pxRsaCtx = ( P11RsaCtx_t * ) pvCtx;
/* Initialize other fields */
pxP11Rsa->xP11PkCtx.pxFunctionList = NULL;
pxP11Rsa->xP11PkCtx.xSessionHandle = CK_INVALID_HANDLE;
pxP11Rsa->xP11PkCtx.xPkHandle = CK_INVALID_HANDLE;
pxRsaCtx->xP11PkCtx.pxFunctionList = NULL;
pxRsaCtx->xP11PkCtx.xSessionHandle = CK_INVALID_HANDLE;
pxRsaCtx->xP11PkCtx.xPkHandle = CK_INVALID_HANDLE;
mbedtls_rsa_init( &( pxP11Rsa->xMbedRsaCtx ) );
mbedtls_rsa_init( &( pxRsaCtx->xMbedRsaCtx ) );
}
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_SESSION_HANDLE xSessionHandle,
CK_OBJECT_HANDLE xPkHandle )
{
CK_RV xResult = CKR_OK;
P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pvCtx;
P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pk;
mbedtls_rsa_context * pxMbedRsaCtx = 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 )
{
P11RsaCtx_t * pxP11RsaCtx = ( P11RsaCtx_t * ) pvCtx;
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"
#define LIBRARY_LOG_NAME "MbedTLSRNGP11"
#define LIBRARY_LOG_LEVEL LOG_ERROR
#ifndef LIBRARY_LOG_NAME
#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"

@ -25,15 +25,20 @@
*/
/**
* @file tls_freertos.c
* @file transport_mbedtls.c
* @brief TLS transport interface implementations. This implementation uses
* mbedTLS.
*/
#include "logging_levels.h"
#define LIBRARY_LOG_NAME "MbedtlsTransport"
#define LIBRARY_LOG_LEVEL LOG_INFO
#ifndef LIBRARY_LOG_NAME
#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"
@ -43,7 +48,24 @@
/* FreeRTOS includes. */
#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"
/* 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 )
{
configASSERT( pSslContext != NULL );
@ -228,6 +266,12 @@ static void sslContextInit( SSLContext_t * pSslContext )
mbedtls_pk_init( &( pSslContext->privKey ) );
mbedtls_x509_crt_init( &( pSslContext->clientCert ) );
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;
}
#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 )
{
/* Seed the random number generator. */
@ -809,8 +866,14 @@ int32_t TLS_FreeRTOS_recv( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( 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. "
"mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ),
@ -868,8 +931,14 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( 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. "
"mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ),

@ -32,6 +32,22 @@
#ifndef 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 ********/
/**************************************************/
@ -53,9 +69,10 @@
#define LIBRARY_LOG_LEVEL LOG_ERROR
#endif
/* Prototype for the function used to print to console on Windows simulator
* of FreeRTOS.
* The function prints to the console before the network is connected;
/** @brief Prototype for the function used to print to console on Windows
* simulator of FreeRTOS.
*
* @note The function prints to the console before the network is connected;
* then a UDP port after the network has connected. */
extern void vLoggingPrintf( const char * pcFormatString,
... );
@ -76,15 +93,6 @@ extern void vLoggingPrintf( const char * pcFormatString,
/* Transport interface include. */
#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.
*/
@ -183,7 +191,7 @@ void TLS_FreeRTOS_Disconnect( NetworkContext_t * pNetworkContext );
/**
* @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.
*
* @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.
*
* This is the TLS version of the transport interface's
* @note This is the TLS version of the transport interface's
* #TransportSend_t function.
*
* @param[in] pNetworkContext The network context.
@ -216,4 +224,25 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
const void * pBuffer,
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 */

@ -30,19 +30,38 @@
* mbedTLS.
*/
/* Standard includes. */
#include <string.h>
#include "logging_levels.h"
#define LIBRARY_LOG_NAME "PkcsTlsTransport"
#define LIBRARY_LOG_LEVEL LOG_INFO
#define LIBRARY_LOG_NAME "PkcsTlsTransport"
#ifndef LIBRARY_LOG_LEVEL
#define LIBRARY_LOG_LEVEL LOG_INFO
#endif /* LIBRARY_LOG_LEVEL */
#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. */
#include <string.h>
#ifdef MBEDTLS_PSA_CRYPTO_C
/* MbedTLS PSA Includes */
#include "psa/crypto.h"
#include "psa/crypto_values.h"
#endif /* MBEDTLS_PSA_CRYPTO_C */
#include "mbedtls/debug.h"
/* FreeRTOS includes. */
#include "FreeRTOS.h"
@ -205,6 +224,22 @@ static int32_t privateKeySigningCallback( void * pvContext,
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 )
@ -215,6 +250,12 @@ static void sslContextInit( SSLContext_t * pSslContext )
mbedtls_x509_crt_init( &( pSslContext->rootCa ) );
mbedtls_x509_crt_init( &( pSslContext->clientCert ) );
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 ) );
C_GetFunctionList( &( pSslContext->pxP11FunctionList ) );
@ -274,6 +315,20 @@ static TlsTransportStatus_t tlsSetup( NetworkContext_t * pNetworkContext,
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 )
{
/* 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 ) );
} 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 )
{
LogError( ( "Failed to perform TLS handshake: mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( mbedtlsError ),
mbedtlsLowLevelCodeOrDefault( mbedtlsError ) ) );
if( mbedtlsError == MBEDTLS_ERR_SSL_RECEIVED_NEW_SESSION_TICKET )
{
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 ) )
{
xResult = CK_INVALID_HANDLE;
LogError( ( "Could not find private key." ) );
LogError( ( "Could not find private key: %s", pcLabelName ) );
}
if( xResult == CKR_OK )
@ -808,8 +871,14 @@ int32_t TLS_FreeRTOS_recv( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( 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. "
"mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ),
@ -867,8 +936,14 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
if( ( tlsStatus == MBEDTLS_ERR_SSL_TIMEOUT ) ||
( 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. "
"mbedTLSError= %s : %s.",
mbedtlsHighLevelCodeOrDefault( tlsStatus ),

@ -37,6 +37,12 @@
#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"
/* TCP Sockets Wrapper include.*/
@ -46,6 +52,7 @@
#include "transport_interface.h"
/* mbed TLS includes. */
#include "mbedtls/build_info.h"
#include "mbedtls/ctr_drbg.h"
#include "mbedtls/entropy.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.
*
* This is the TLS version of the transport interface's
* @note This is the TLS version of the transport interface's
* #TransportSend_t function.
*
* @param[in] pNetworkContext The network context.
@ -196,4 +203,25 @@ int32_t TLS_FreeRTOS_send( NetworkContext_t * pNetworkContext,
const void * pBuffer,
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 */

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

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

@ -29,11 +29,13 @@
#include <ws2tcpip.h>
#ifndef __MINGW32__
#define IN_MULTICAST( a ) IN_CLASSD( a )
#endif
#ifndef IN_MULTICAST
#ifndef __MINGW32__
#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

@ -68,12 +68,12 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<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>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<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>
<Link>
<TargetMachine>MachineX86</TargetMachine>
@ -86,7 +86,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<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>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

@ -35,6 +35,8 @@
#include "FreeRTOS_IP.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 )

@ -64,7 +64,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<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>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -78,7 +78,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'">
<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>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

@ -139,7 +139,7 @@ void vConfigureTimerForRunTimeStats( void );
* results in the wired network being used, while setting
* configNETWORK_INTERFACE_TO_USE to 2 results in the wireless network being
* 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. */
#define configUDP_LOGGING_ADDR0 192

@ -32,8 +32,16 @@
* should an assert get hit. */
#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>
/* Windows Crypt api for uxRand() */
#include <wincrypt.h>
/* FreeRTOS includes. */
@ -52,7 +60,7 @@ void vAssertCalled( const char * pcFile,
( void ) pcFileName;
( 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
* this function to be exited. */

@ -37,7 +37,14 @@
*/
#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. */
#include "FreeRTOS.h"

@ -54,7 +54,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<AdditionalIncludeDirectories>$(PublicIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@ -68,7 +68,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<AdditionalIncludeDirectories>$(PublicIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>

@ -26,6 +26,12 @@
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cipher.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\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\constant_time.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\hkdf.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\md.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\pkcs12.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_time.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\sha1.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\ssl.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_crt.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_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_key_derivation.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_config.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_key_derivation.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_legacy.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_sizes.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_values.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\aesce.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\check_crypto_config.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\cipher_wrap.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_invasive.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_internal_alt.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ecp_invasive.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\mps_common.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\padlock.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\psa_crypto_aead.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_common.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_ffdh.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_its.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_rsa.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_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\ssl_client.h" />
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_debug_helpers.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_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="threading_alt.h" />
</ItemGroup>
<ItemGroup>
<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\aria.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\asn1parse.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\asn1write.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\base64.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\ccm.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\chacha20.c" />
@ -158,12 +192,15 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecjpake.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp.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_poll.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\error.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\gcm.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\hkdf.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\md5.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\pkcs12.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\pkwrite.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_cipher.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_ffdh.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_pake.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_slot_management.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_util.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ripemd160.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\rsa.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha1.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\ssl_cache.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_features.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_csr.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509_create.c" />
@ -281,7 +324,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<AdditionalIncludeDirectories>.\;..\..\ThirdParty\mbedtls\library;..\..\ThirdParty\mbedtls\include</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@ -295,7 +338,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<AdditionalIncludeDirectories>.\;..\..\ThirdParty\mbedtls\library;..\..\ThirdParty\mbedtls\include</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>

@ -21,396 +21,460 @@
</Filter>
</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>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pem.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\aria.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\check_config.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\error.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1write.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</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>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\build_info.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs5.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\camellia.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ripemd160.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ccm.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\debug.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chacha20.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chachapoly.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\version.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\check_config.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecp.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cipher.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\base64.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cmac.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\compat-2.x.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</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>
</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>
</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>
</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>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\threading.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_ssl.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hkdf.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_adjust_x509.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md5.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_psa.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\timing.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\constant_time.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chachapoly.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ctr_drbg.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha256.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\debug.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdsa.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\des.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\nist_kw.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\dhm.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdh.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cipher.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdsa.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecjpake.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\net_sockets.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecp.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\entropy.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs12.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\error.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha512.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\gcm.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pk.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hkdf.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hmac_drbg.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_time.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\lms.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\constant_time.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\mbedtls_config.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\camellia.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crt.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\md5.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\aes.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\memory_buffer_alloc.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cookie.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\net_sockets.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\config_psa.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\nist_kw.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\dhm.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\oid.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ctr_drbg.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pem.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\chacha20.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pk.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\des.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs5.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crl.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs7.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ecdh.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\pkcs12.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\psa_util.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha1.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform_time.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</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>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\rsa.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\hmac_drbg.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha1.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\private_access.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha3.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_ticket.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\sha256.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</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>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cache.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\cmac.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_ciphersuites.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\platform.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_cookie.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\bignum.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ssl_ticket.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\aria.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\threading.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\asn1write.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\timing.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\mbedtls_config.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\version.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\ccm.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_se_driver.h">
<Filter>MbedTLS Headers\psa</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crl.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_extra.h">
<Filter>MbedTLS Headers\psa</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_crt.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_composites.h">
<Filter>MbedTLS Headers\psa</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\mbedtls\x509_csr.h">
<Filter>MbedTLS Headers\mbedtls</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_struct.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\build_info.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_builtin_primitives.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto.h">
<Filter>MbedTLS Headers\psa</Filter>
</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>
</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>
</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>
</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>
</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>
</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>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_types.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_compat.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_values.h">
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_config.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_common.h">
<Filter>MbedTLS Headers\psa</Filter>
</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>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\aesni.h">
<Filter>MbedTLS Source</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 Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_key_derivation.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_se.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_driver_contexts_primitives.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_slot_management.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_extra.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\psa_crypto_storage.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_legacy.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\rsa_alt_helpers.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_platform.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_client.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_se_driver.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_debug_helpers.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_sizes.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_misc.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_struct.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_invasive.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_types.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="..\..\ThirdParty\mbedtls\library\ssl_tls13_keys.h">
<Filter>MbedTLS Source</Filter>
<ClInclude Include="..\..\ThirdParty\mbedtls\include\psa\crypto_values.h">
<Filter>MbedTLS Headers\psa</Filter>
</ClInclude>
<ClInclude Include="mbedtls_config_v3.2.1.h" />
<ClInclude Include="mbedtls_freertos_port.h" />
<ClInclude Include="threading_alt.h" />
<ClInclude Include="mbedtls_config_v3.5.1.h" />
</ItemGroup>
<ItemGroup>
<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_crt.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\x509write_csr.c">
<ClCompile Include="mbedtls_freertos_port.c" />
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aes.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aes.c">
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aesce.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\aesni.c">
@ -431,6 +495,15 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\bignum.c">
<Filter>MbedTLS Source</Filter>
</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">
<Filter>MbedTLS Source</Filter>
</ClCompile>
@ -482,6 +555,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ecp_curves_new.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\entropy.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
@ -500,6 +576,12 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\hmac_drbg.c">
<Filter>MbedTLS Source</Filter>
</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">
<Filter>MbedTLS Source</Filter>
</ClCompile>
@ -539,6 +621,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs5.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs7.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\pkcs12.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
@ -569,18 +654,24 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_client.c">
<Filter>MbedTLS Source</Filter>
</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>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ecp.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_ffdh.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_hash.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_mac.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_pake.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_crypto_rsa.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
@ -596,6 +687,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_its_file.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\psa_util.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\ripemd160.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
@ -608,6 +702,9 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha1.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha3.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\mbedtls\library\sha256.c">
<Filter>MbedTLS Source</Filter>
</ClCompile>
@ -659,6 +756,38 @@
<ClCompile Include="..\..\ThirdParty\mbedtls\library\threading.c">
<Filter>MbedTLS Source</Filter>
</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>
</Project>

@ -54,7 +54,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>
@ -68,7 +68,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<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>
<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>

@ -74,7 +74,7 @@
<ClCompile>
<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>
<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>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>

@ -127,6 +127,12 @@ extern void vAssertCalled( unsigned long ulLine, const char * const pcFileName )
#define sbSEND_COMPLETED( pxStreamBuffer ) vGenerateCoreBInterrupt( pxStreamBuffer )
#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 "trcRecorder.h"

@ -40,7 +40,7 @@
<ClCompile>
<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>
<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>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderOutputFile>.\Debug/WIN32.pch</PrecompiledHeaderOutputFile>

@ -222,9 +222,6 @@
<ClInclude Include="Trace_Recorder_Configuration\trcSnapshotConfig.h">
<Filter>Configuration Files</Filter>
</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">
<Filter>Demo App Source\FreeRTOS+Trace Recorder\include</Filter>
</ClInclude>

@ -52,6 +52,12 @@
#include <stdlib.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
* should an assert get hit. */
#include <intrin.h>

@ -1,319 +1,333 @@
/*
* Trace Recorder for Tracealyzer v4.6.0
* Copyright 2021 Percepio AB
* www.percepio.com
*
* SPDX-License-Identifier: Apache-2.0
*
* Main configuration parameters for the trace recorder library.
* More settings can be found in trcStreamingConfig.h and trcSnapshotConfig.h.
*/
#ifndef TRC_CONFIG_H
#define TRC_CONFIG_H
#ifdef __cplusplus
extern "C" {
#endif
/******************************************************************************
* Include of processor header file
*
* Here you may need to include the header file for your processor. This is
* 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.
*****************************************************************************/
/**
* @def TRC_CFG_HARDWARE_PORT
* @brief Specify what hardware port to use (i.e., the "timestamping driver").
*
* 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
* force the recorder to use SysTick timestamping instead, using this define:
*
* #define TRC_CFG_ARM_CM_USE_SYSTICK
*
* 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.
*/
#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_Win32
/**
* @def TRC_CFG_SCHEDULING_ONLY
* @brief Macro which should be defined as an integer value.
*
* If this setting is enabled (= 1), only scheduling events are recorded.
* If disabled (= 0), all events are recorded (unless filtered in other ways).
*
* Default value is 0 (= include additional events).
*/
#define TRC_CFG_SCHEDULING_ONLY 0
/**
* @def TRC_CFG_INCLUDE_MEMMANG_EVENTS
* @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)
* to exclude malloc/free calls, or one (1) to include such events in the trace.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_MEMMANG_EVENTS 1
/**
* @def TRC_CFG_INCLUDE_USER_EVENTS
* @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
* to reduce code size. Any attempts of storing User Events are then silently
* ignored.
*
* 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
* therefore much faster than a console printf and can often be used
* in timing critical code without problems.
*
* Note: In streaming mode, User Events are used to provide error messages
* and warnings from the recorder (in case of incorrect configuration) for
* display in Tracealyzer. Disabling user events will also disable these
* warnings. You can however still catch them by calling xTraceErrorGetLast
* or by putting breakpoints in xTraceError and xTraceWarning.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_USER_EVENTS 1
/**
* @def TRC_CFG_INCLUDE_ISR_TRACING
* @brief Macro which should be defined as either zero (0) or one (1).
*
* If this is zero (0), the code for recording Interrupt Service Routines is
* 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
* calling a traced kernel service. These events will still be recorded and
* show up in anonymous ISR instances in Tracealyzer, with names such as
* "ISR sending to <queue name>".
* To disable such tracing, please refer to vTraceSetFilterGroup and
* vTraceSetFilterMask.
*
* Default value is 1.
*
* Note: tracing ISRs requires that you insert calls to vTraceStoreISRBegin
* and vTraceStoreISREnd in your interrupt handlers.
*/
#define TRC_CFG_INCLUDE_ISR_TRACING 1
/**
* @def TRC_CFG_INCLUDE_READY_EVENTS
* @brief Macro which should be defined as either zero (0) or one (1).
*
* If one (1), events are recorded when tasks enter scheduling state "ready".
* This allows Tracealyzer to show the initial pending time before tasks enter
* the execution state, and present accurate response times.
* If zero (0), "ready events" are not created, which allows for recording
* longer traces in the same amount of RAM.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_READY_EVENTS 1
/**
* @def TRC_CFG_INCLUDE_OSTICK_EVENTS
* @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
* increased. If zero (0), OS tick events are not generated, which allows for
* recording longer traces in the same amount of RAM.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_OSTICK_EVENTS 1
/**
* @def TRC_CFG_ENABLE_STACK_MONITOR
* @brief If enabled (1), the recorder periodically reports the unused stack space of
* all active tasks.
* The stack monitoring runs in the Tracealyzer Control task, TzCtrl. This task
* is always created by the recorder when in streaming mode.
* In snapshot mode, the TzCtrl task is only used for stack monitoring and is
* not created unless this is enabled.
*/
#define TRC_CFG_ENABLE_STACK_MONITOR 1
/**
* @def TRC_CFG_STACK_MONITOR_MAX_TASKS
* @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.
* If this is too small, some tasks will be excluded and a warning is shown.
*
* Default value is 10.
*/
#define TRC_CFG_STACK_MONITOR_MAX_TASKS 50
/**
* @def TRC_CFG_STACK_MONITOR_MAX_REPORTS
* @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
* 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
* are monitored, but HOW OFTEN each task stack is analyzed.
*
* 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
* can take some time to execute.
* However, note that the stack analysis runs in a separate task (TzCtrl) that
* can be executed on low priority. This way, you can avoid that the stack
* analysis disturbs any time-sensitive tasks.
*
* Default value is 1.
*/
#define TRC_CFG_STACK_MONITOR_MAX_REPORTS 1
/**
* @def TRC_CFG_CTRL_TASK_PRIORITY
* @brief The scheduling priority of the Tracealyzer Control (TzCtrl) task.
*
* In streaming mode, TzCtrl is used to receive start/stop commands from
* Tracealyzer and in some cases also to transmit the trace data (for stream
* 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
* execution and transfer of the data, but low enough to avoid disturbing any
* time-sensitive functions.
*
* 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
* be low, to avoid disturbing any time-sensitive tasks.
*/
#define TRC_CFG_CTRL_TASK_PRIORITY 1
/**
* @def TRC_CFG_CTRL_TASK_DELAY
* @brief The delay between loops of the TzCtrl task (see TRC_CFG_CTRL_TASK_PRIORITY),
* which affects the frequency of the stack monitoring.
*
* In streaming mode, this also affects the trace data transfer if you are using
* a stream port leveraging the internal buffer (like TCP/IP). A shorter delay
* increases the CPU load of TzCtrl somewhat, but may improve the performance of
* of the trace streaming, especially if the trace buffer is small.
*/
#define TRC_CFG_CTRL_TASK_DELAY 2
/**
* @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.
*/
#define TRC_CFG_CTRL_TASK_STACK_SIZE 1024
/**
* @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)
*
* Values:
* TRC_RECORDER_BUFFER_ALLOCATION_STATIC - Static allocation (internal)
* TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC - Malloc in vTraceEnable
* TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM - Use vTraceSetRecorderDataBuffer
*
* Static and dynamic mode does the allocation for you, either in compile time
* (static) or in runtime (malloc).
* The custom mode allows you to control how and where the allocation is made,
* for details see TRC_ALLOC_CUSTOM_BUFFER and vTraceSetRecorderDataBuffer().
*/
#define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_STATIC
/**
* @def TRC_CFG_MAX_ISR_NESTING
* @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
* is exceeded, the particular ISR will not be traced and the recorder then
* 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).
*
* This value must be a non-zero positive constant, at least 1.
*
* Default value: 8
*/
#define TRC_CFG_MAX_ISR_NESTING 8
/**
* @def TRC_CFG_ISR_TAILCHAINING_THRESHOLD
* @brief Macro which should be defined as an integer value.
*
* If tracing multiple ISRs, this setting allows for accurate display of the
* context-switching also in cases when the ISRs execute in direct sequence.
*
* vTraceStoreISREnd normally assumes that the ISR returns to the previous
* 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.
*
* 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.
* See http://percepio.com/2014/03/21/isr_tailchaining_threshold/
*
* The default setting is 0, meaning "disabled" and that you may get an
* extra fragments of the previous context in between tail-chained ISRs.
*
* Note: This setting has separate definitions in trcSnapshotConfig.h and
* trcStreamingConfig.h, since it is affected by the recorder mode.
*/
#define TRC_CFG_ISR_TAILCHAINING_THRESHOLD 0
/**
* @def TRC_CFG_RECORDER_DATA_INIT
* @brief Macro which states wether the recorder data should have an initial value.
*
* In very specific cases where traced objects are created before main(),
* 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
* then later be overwritten by the initialization value.
* 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:
*
* extern uint32_t RecorderEnabled;
* RecorderEnabled = 0;
* xTraceInitialize();
*
* After the clocks are properly initialized, use vTraceEnable(...) to start
* the tracing.
*
* Default value is 1.
*/
#define TRC_CFG_RECORDER_DATA_INIT 1
/**
* @def TRC_CFG_RECORDER_DATA_ATTRIBUTE
* @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
* zeroed out after initialization. Define TRC_CFG_RECORDER_DATA_ATTRIBUTE as
* that attribute.
*
* Example:
* #define TRC_CFG_RECORDER_DATA_ATTRIBUTE __attribute__((section(".bss.trace_recorder_data")))
*
* Default value is empty.
*/
#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 */
/*
* Trace Recorder for Tracealyzer v4.6.0
* Copyright 2021 Percepio AB
* www.percepio.com
*
* SPDX-License-Identifier: Apache-2.0
*
* Main configuration parameters for the trace recorder library.
* More settings can be found in trcStreamingConfig.h and trcSnapshotConfig.h.
*/
#ifndef TRC_CONFIG_H
#define TRC_CONFIG_H
#ifdef __cplusplus
extern "C" {
#endif
/** Exclude Windows APIs such as Cryptography, DDE, RPC, Shell,
* and Windows Sockets. */
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <winsock2.h>
/* Define _WINSOCKAPI_ to ensure that winsock.h is not included */
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
#endif
/******************************************************************************
* Include of processor header file
*
* Here you may need to include the header file for your processor. This is
* 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.
*****************************************************************************/
/**
* @def TRC_CFG_HARDWARE_PORT
* @brief Specify what hardware port to use (i.e., the "timestamping driver").
*
* 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
* force the recorder to use SysTick timestamping instead, using this define:
*
* #define TRC_CFG_ARM_CM_USE_SYSTICK
*
* 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.
*/
#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_Win32
/**
* @def TRC_CFG_SCHEDULING_ONLY
* @brief Macro which should be defined as an integer value.
*
* If this setting is enabled (= 1), only scheduling events are recorded.
* If disabled (= 0), all events are recorded (unless filtered in other ways).
*
* Default value is 0 (= include additional events).
*/
#define TRC_CFG_SCHEDULING_ONLY 0
/**
* @def TRC_CFG_INCLUDE_MEMMANG_EVENTS
* @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)
* to exclude malloc/free calls, or one (1) to include such events in the trace.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_MEMMANG_EVENTS 1
/**
* @def TRC_CFG_INCLUDE_USER_EVENTS
* @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
* to reduce code size. Any attempts of storing User Events are then silently
* ignored.
*
* 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
* therefore much faster than a console printf and can often be used
* in timing critical code without problems.
*
* Note: In streaming mode, User Events are used to provide error messages
* and warnings from the recorder (in case of incorrect configuration) for
* display in Tracealyzer. Disabling user events will also disable these
* warnings. You can however still catch them by calling xTraceErrorGetLast
* or by putting breakpoints in xTraceError and xTraceWarning.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_USER_EVENTS 1
/**
* @def TRC_CFG_INCLUDE_ISR_TRACING
* @brief Macro which should be defined as either zero (0) or one (1).
*
* If this is zero (0), the code for recording Interrupt Service Routines is
* 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
* calling a traced kernel service. These events will still be recorded and
* show up in anonymous ISR instances in Tracealyzer, with names such as
* "ISR sending to <queue name>".
* To disable such tracing, please refer to vTraceSetFilterGroup and
* vTraceSetFilterMask.
*
* Default value is 1.
*
* Note: tracing ISRs requires that you insert calls to vTraceStoreISRBegin
* and vTraceStoreISREnd in your interrupt handlers.
*/
#define TRC_CFG_INCLUDE_ISR_TRACING 1
/**
* @def TRC_CFG_INCLUDE_READY_EVENTS
* @brief Macro which should be defined as either zero (0) or one (1).
*
* If one (1), events are recorded when tasks enter scheduling state "ready".
* This allows Tracealyzer to show the initial pending time before tasks enter
* the execution state, and present accurate response times.
* If zero (0), "ready events" are not created, which allows for recording
* longer traces in the same amount of RAM.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_READY_EVENTS 1
/**
* @def TRC_CFG_INCLUDE_OSTICK_EVENTS
* @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
* increased. If zero (0), OS tick events are not generated, which allows for
* recording longer traces in the same amount of RAM.
*
* Default value is 1.
*/
#define TRC_CFG_INCLUDE_OSTICK_EVENTS 1
/**
* @def TRC_CFG_ENABLE_STACK_MONITOR
* @brief If enabled (1), the recorder periodically reports the unused stack space of
* all active tasks.
* The stack monitoring runs in the Tracealyzer Control task, TzCtrl. This task
* is always created by the recorder when in streaming mode.
* In snapshot mode, the TzCtrl task is only used for stack monitoring and is
* not created unless this is enabled.
*/
#define TRC_CFG_ENABLE_STACK_MONITOR 1
/**
* @def TRC_CFG_STACK_MONITOR_MAX_TASKS
* @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.
* If this is too small, some tasks will be excluded and a warning is shown.
*
* Default value is 10.
*/
#define TRC_CFG_STACK_MONITOR_MAX_TASKS 50
/**
* @def TRC_CFG_STACK_MONITOR_MAX_REPORTS
* @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
* 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
* are monitored, but HOW OFTEN each task stack is analyzed.
*
* 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
* can take some time to execute.
* However, note that the stack analysis runs in a separate task (TzCtrl) that
* can be executed on low priority. This way, you can avoid that the stack
* analysis disturbs any time-sensitive tasks.
*
* Default value is 1.
*/
#define TRC_CFG_STACK_MONITOR_MAX_REPORTS 1
/**
* @def TRC_CFG_CTRL_TASK_PRIORITY
* @brief The scheduling priority of the Tracealyzer Control (TzCtrl) task.
*
* In streaming mode, TzCtrl is used to receive start/stop commands from
* Tracealyzer and in some cases also to transmit the trace data (for stream
* 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
* execution and transfer of the data, but low enough to avoid disturbing any
* time-sensitive functions.
*
* 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
* be low, to avoid disturbing any time-sensitive tasks.
*/
#define TRC_CFG_CTRL_TASK_PRIORITY 1
/**
* @def TRC_CFG_CTRL_TASK_DELAY
* @brief The delay between loops of the TzCtrl task (see TRC_CFG_CTRL_TASK_PRIORITY),
* which affects the frequency of the stack monitoring.
*
* In streaming mode, this also affects the trace data transfer if you are using
* a stream port leveraging the internal buffer (like TCP/IP). A shorter delay
* increases the CPU load of TzCtrl somewhat, but may improve the performance of
* of the trace streaming, especially if the trace buffer is small.
*/
#define TRC_CFG_CTRL_TASK_DELAY 2
/**
* @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.
*/
#define TRC_CFG_CTRL_TASK_STACK_SIZE 1024
/**
* @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)
*
* Values:
* TRC_RECORDER_BUFFER_ALLOCATION_STATIC - Static allocation (internal)
* TRC_RECORDER_BUFFER_ALLOCATION_DYNAMIC - Malloc in vTraceEnable
* TRC_RECORDER_BUFFER_ALLOCATION_CUSTOM - Use vTraceSetRecorderDataBuffer
*
* Static and dynamic mode does the allocation for you, either in compile time
* (static) or in runtime (malloc).
* The custom mode allows you to control how and where the allocation is made,
* for details see TRC_ALLOC_CUSTOM_BUFFER and vTraceSetRecorderDataBuffer().
*/
#define TRC_CFG_RECORDER_BUFFER_ALLOCATION TRC_RECORDER_BUFFER_ALLOCATION_STATIC
/**
* @def TRC_CFG_MAX_ISR_NESTING
* @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
* is exceeded, the particular ISR will not be traced and the recorder then
* 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).
*
* This value must be a non-zero positive constant, at least 1.
*
* Default value: 8
*/
#define TRC_CFG_MAX_ISR_NESTING 8
/**
* @def TRC_CFG_ISR_TAILCHAINING_THRESHOLD
* @brief Macro which should be defined as an integer value.
*
* If tracing multiple ISRs, this setting allows for accurate display of the
* context-switching also in cases when the ISRs execute in direct sequence.
*
* vTraceStoreISREnd normally assumes that the ISR returns to the previous
* 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.
*
* 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.
* See http://percepio.com/2014/03/21/isr_tailchaining_threshold/
*
* The default setting is 0, meaning "disabled" and that you may get an
* extra fragments of the previous context in between tail-chained ISRs.
*
* Note: This setting has separate definitions in trcSnapshotConfig.h and
* trcStreamingConfig.h, since it is affected by the recorder mode.
*/
#define TRC_CFG_ISR_TAILCHAINING_THRESHOLD 0
/**
* @def TRC_CFG_RECORDER_DATA_INIT
* @brief Macro which states wether the recorder data should have an initial value.
*
* In very specific cases where traced objects are created before main(),
* 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
* then later be overwritten by the initialization value.
* 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:
*
* extern uint32_t RecorderEnabled;
* RecorderEnabled = 0;
* xTraceInitialize();
*
* After the clocks are properly initialized, use vTraceEnable(...) to start
* the tracing.
*
* Default value is 1.
*/
#define TRC_CFG_RECORDER_DATA_INIT 1
/**
* @def TRC_CFG_RECORDER_DATA_ATTRIBUTE
* @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
* zeroed out after initialization. Define TRC_CFG_RECORDER_DATA_ATTRIBUTE as
* that attribute.
*
* Example:
* #define TRC_CFG_RECORDER_DATA_ATTRIBUTE __attribute__((section(".bss.trace_recorder_data")))
*
* Default value is empty.
*/
#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"
- name: "corePKCS11"
version: "6ddc35e"
version: "8b5ec3b3e"
repository:
type: "git"
url: "https://github.com/FreeRTOS/corePKCS11.git"
@ -89,7 +89,7 @@ dependencies:
path: "FreeRTOS-Plus/ThirdParty/wolfSSL"
- name: "mbedtls"
version: "v3.2.1"
version: "v3.5.1"
repository:
type: "git"
url: "https://github.com/Mbed-TLS/mbedtls.git"

Loading…
Cancel
Save