Use CI-CD-Github-Actions for spelling and formatting, add in the bot formatting action, update the CI-CD workflow files. Fix incorrect spelling and formatting on files. (#1083)

* Use new version of CI-CD Actions,  checkout@v3 instead of checkout@v2 on all jobs
* Use cSpell spell check, and use ubuntu-20.04 for formatting check
* Add in bot formatting action
* Update freertos_demo.yml and freertos_plus_demo.yml files to increase github log readability
* Add in a Qemu demo onto the workflows.
This commit is contained in:
Soren Ptak 2023-09-06 15:35:37 -04:00 committed by GitHub
parent 537007d96c
commit 3a2f6646f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1036 changed files with 134568 additions and 127281 deletions

View file

@ -1,113 +1,113 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32929.386
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeRTOS_Plus_WolfSSL_Windows_Simulator", "FreeRTOS_Plus_WolfSSL_Windows_Simulator.vcxproj", "{C8144D60-5005-4111-841E-FA3529F84A8B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeRTOS+TCP", "..\..\VisualStudio_StaticProjects\FreeRTOS+TCP\FreeRTOS+TCP.vcxproj", "{C90E6CC5-818B-4C97-8876-0986D989387C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeRTOS-Kernel", "..\..\VisualStudio_StaticProjects\FreeRTOS-Kernel\FreeRTOS-Kernel.vcxproj", "{72C209C4-49A4-4942-A201-44706C9D77EC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Logging", "..\..\VisualStudio_StaticProjects\Logging\Logging.vcxproj", "{BE362AC0-B10B-4276-B84E-6304652BA228}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Statically Linked Libraries", "Statically Linked Libraries", "{859BA71E-DC13-41CE-A405-0F83CC78F7BF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug_with_Libslirp|Win32 = Debug_with_Libslirp|Win32
Debug_with_Libslirp|x64 = Debug_with_Libslirp|x64
Debug_with_Libslirp|x86 = Debug_with_Libslirp|x86
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|Win32.ActiveCfg = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|Win32.Build.0 = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x64.ActiveCfg = Debug|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x64.Build.0 = Debug|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x86.ActiveCfg = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x86.Build.0 = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|Win32.ActiveCfg = Release|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|Win32.Build.0 = Release|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x64.ActiveCfg = Release|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x64.Build.0 = Release|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x86.ActiveCfg = Release|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x86.Build.0 = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|Win32.ActiveCfg = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|Win32.Build.0 = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x64.ActiveCfg = Debug|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x64.Build.0 = Debug|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x86.ActiveCfg = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x86.Build.0 = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|Win32.ActiveCfg = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|Win32.Build.0 = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x64.ActiveCfg = Release|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x64.Build.0 = Release|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x86.ActiveCfg = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x86.Build.0 = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|Win32.ActiveCfg = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|Win32.Build.0 = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x64.ActiveCfg = Debug|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x64.Build.0 = Debug|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x86.ActiveCfg = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x86.Build.0 = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|Win32.ActiveCfg = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|Win32.Build.0 = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x64.ActiveCfg = Release|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x64.Build.0 = Release|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x86.ActiveCfg = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x86.Build.0 = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|Win32.ActiveCfg = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|Win32.Build.0 = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x64.ActiveCfg = Debug|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x64.Build.0 = Debug|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x86.ActiveCfg = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x86.Build.0 = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|Win32.ActiveCfg = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|Win32.Build.0 = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x64.ActiveCfg = Release|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x64.Build.0 = Release|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x86.ActiveCfg = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{C90E6CC5-818B-4C97-8876-0986D989387C} = {859BA71E-DC13-41CE-A405-0F83CC78F7BF}
{72C209C4-49A4-4942-A201-44706C9D77EC} = {859BA71E-DC13-41CE-A405-0F83CC78F7BF}
{BE362AC0-B10B-4276-B84E-6304652BA228} = {859BA71E-DC13-41CE-A405-0F83CC78F7BF}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {77AB32C6-C9AC-4247-A3E4-D11153F3B741}
EndGlobalSection
EndGlobal
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32929.386
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeRTOS_Plus_WolfSSL_Windows_Simulator", "FreeRTOS_Plus_WolfSSL_Windows_Simulator.vcxproj", "{C8144D60-5005-4111-841E-FA3529F84A8B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeRTOS+TCP", "..\..\VisualStudio_StaticProjects\FreeRTOS+TCP\FreeRTOS+TCP.vcxproj", "{C90E6CC5-818B-4C97-8876-0986D989387C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeRTOS-Kernel", "..\..\VisualStudio_StaticProjects\FreeRTOS-Kernel\FreeRTOS-Kernel.vcxproj", "{72C209C4-49A4-4942-A201-44706C9D77EC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Logging", "..\..\VisualStudio_StaticProjects\Logging\Logging.vcxproj", "{BE362AC0-B10B-4276-B84E-6304652BA228}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Statically Linked Libraries", "Statically Linked Libraries", "{859BA71E-DC13-41CE-A405-0F83CC78F7BF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug_with_Libslirp|Win32 = Debug_with_Libslirp|Win32
Debug_with_Libslirp|x64 = Debug_with_Libslirp|x64
Debug_with_Libslirp|x86 = Debug_with_Libslirp|x86
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|Win32.ActiveCfg = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|Win32.Build.0 = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x64.ActiveCfg = Debug|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x64.Build.0 = Debug|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x86.ActiveCfg = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Debug|x86.Build.0 = Debug|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|Win32.ActiveCfg = Release|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|Win32.Build.0 = Release|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x64.ActiveCfg = Release|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x64.Build.0 = Release|x64
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x86.ActiveCfg = Release|Win32
{C8144D60-5005-4111-841E-FA3529F84A8B}.Release|x86.Build.0 = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|Win32.ActiveCfg = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|Win32.Build.0 = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x64.ActiveCfg = Debug|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x64.Build.0 = Debug|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x86.ActiveCfg = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Debug|x86.Build.0 = Debug|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|Win32.ActiveCfg = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|Win32.Build.0 = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x64.ActiveCfg = Release|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x64.Build.0 = Release|x64
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x86.ActiveCfg = Release|Win32
{C90E6CC5-818B-4C97-8876-0986D989387C}.Release|x86.Build.0 = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|Win32.ActiveCfg = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|Win32.Build.0 = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x64.ActiveCfg = Debug|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x64.Build.0 = Debug|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x86.ActiveCfg = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Debug|x86.Build.0 = Debug|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|Win32.ActiveCfg = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|Win32.Build.0 = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x64.ActiveCfg = Release|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x64.Build.0 = Release|x64
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x86.ActiveCfg = Release|Win32
{72C209C4-49A4-4942-A201-44706C9D77EC}.Release|x86.Build.0 = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|Win32.ActiveCfg = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|Win32.Build.0 = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x64.ActiveCfg = Debug_with_Libslirp|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x64.Build.0 = Debug_with_Libslirp|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x86.ActiveCfg = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug_with_Libslirp|x86.Build.0 = Debug_with_Libslirp|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|Win32.ActiveCfg = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|Win32.Build.0 = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x64.ActiveCfg = Debug|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x64.Build.0 = Debug|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x86.ActiveCfg = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Debug|x86.Build.0 = Debug|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|Win32.ActiveCfg = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|Win32.Build.0 = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x64.ActiveCfg = Release|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x64.Build.0 = Release|x64
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x86.ActiveCfg = Release|Win32
{BE362AC0-B10B-4276-B84E-6304652BA228}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{C90E6CC5-818B-4C97-8876-0986D989387C} = {859BA71E-DC13-41CE-A405-0F83CC78F7BF}
{72C209C4-49A4-4942-A201-44706C9D77EC} = {859BA71E-DC13-41CE-A405-0F83CC78F7BF}
{BE362AC0-B10B-4276-B84E-6304652BA228} = {859BA71E-DC13-41CE-A405-0F83CC78F7BF}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {77AB32C6-C9AC-4247-A3E4-D11153F3B741}
EndGlobalSection
EndGlobal

View file

@ -1,356 +1,356 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug_with_Libslirp|Win32">
<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>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{c8144d60-5005-4111-841e-fa3529f84a8b}</ProjectGuid>
<RootNamespace>FreeRTOSPlusWolfSSLVisualStudio_StaticProjects</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<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>
<ImportGroup Label="Shared">
</ImportGroup>
<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 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>
</PropertyGroup>
<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>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|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>
<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|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" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_12.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_17.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_20.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_24.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_28.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_3.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_32.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_4.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_48.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_6.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_64.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_7.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_8.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_9.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_small_set.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_12.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_17.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_20.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_24.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_28.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_3.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_32.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_4.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_48.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_6.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_64.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_7.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_8.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_9.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_small_set.i" />
<None Include="ca-cert.pem" />
<None Include="server-cert.pem" />
<None Include="server-key.pem" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\crl.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\internal.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\keys.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ocsp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\sniffer.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ssl.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls13.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\wolfio.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\aes.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\arc4.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asm.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asn.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2b.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2s.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\camellia.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha20_poly1305.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cmac.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\coding.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\compress.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cpuid.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cryptocb.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve25519.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\des3.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dh.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dsa.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc_fp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed25519.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\error.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\evp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_low_mem.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_operations.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_low_mem.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_operations.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hash.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hc128.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hmac.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\idea.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\integer.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\logging.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md2.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md4.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md5.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\memory.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\misc.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs12.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs7.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\poly1305.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pwdbased.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rabbit.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\random.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ripemd.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rsa.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha256.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha3.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha512.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\signature.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm32.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm64.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_armthumb.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c32.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c64.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_cortexm.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_dsp32.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_int.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_x86_64.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\srp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\tfm.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_dsp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_encrypt.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_pkcs11.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_port.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfevent.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfmath.c" />
<ClCompile Include="main.c" />
<ClCompile Include="SecureTCPClientTask.c" />
<ClCompile Include="SecureTCPServerTask.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\VisualStudio_StaticProjects\FreeRTOS+TCP\FreeRTOS+TCP.vcxproj">
<Project>{c90e6cc5-818b-4c97-8876-0986d989387c}</Project>
</ProjectReference>
<ProjectReference Include="..\..\VisualStudio_StaticProjects\FreeRTOS-Kernel\FreeRTOS-Kernel.vcxproj">
<Project>{72c209c4-49a4-4942-a201-44706c9d77ec}</Project>
</ProjectReference>
<ProjectReference Include="..\..\VisualStudio_StaticProjects\Logging\Logging.vcxproj">
<Project>{be362ac0-b10b-4276-b84e-6304652ba228}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug_with_Libslirp|Win32">
<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>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{c8144d60-5005-4111-841e-fa3529f84a8b}</ProjectGuid>
<RootNamespace>FreeRTOSPlusWolfSSLVisualStudio_StaticProjects</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<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>
<ImportGroup Label="Shared">
</ImportGroup>
<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 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>
</PropertyGroup>
<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>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>..\..\ThirdParty\WolfSSL;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_with_Libslirp|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>
<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|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" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_12.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_17.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_20.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_24.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_28.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_3.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_32.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_4.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_48.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_6.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_64.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_7.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_8.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_9.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_small_set.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_12.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_17.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_20.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_24.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_28.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_3.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_32.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_4.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_48.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_6.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_64.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_7.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_8.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_9.i" />
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_small_set.i" />
<None Include="ca-cert.pem" />
<None Include="server-cert.pem" />
<None Include="server-key.pem" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\crl.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\internal.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\keys.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ocsp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\sniffer.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ssl.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls13.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\wolfio.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\aes.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\arc4.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asm.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asn.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2b.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2s.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\camellia.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha20_poly1305.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cmac.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\coding.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\compress.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cpuid.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cryptocb.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve25519.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\des3.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dh.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dsa.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc_fp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed25519.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\error.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\evp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_low_mem.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_operations.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_448.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_low_mem.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_operations.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hash.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hc128.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hmac.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\idea.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\integer.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\logging.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md2.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md4.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md5.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\memory.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\misc.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs12.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs7.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\poly1305.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pwdbased.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rabbit.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\random.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ripemd.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rsa.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha256.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha3.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha512.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\signature.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm32.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm64.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_armthumb.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c32.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c64.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_cortexm.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_dsp32.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_int.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_x86_64.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\srp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\tfm.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_dsp.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_encrypt.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_pkcs11.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_port.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfevent.c" />
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfmath.c" />
<ClCompile Include="main.c" />
<ClCompile Include="SecureTCPClientTask.c" />
<ClCompile Include="SecureTCPServerTask.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\VisualStudio_StaticProjects\FreeRTOS+TCP\FreeRTOS+TCP.vcxproj">
<Project>{c90e6cc5-818b-4c97-8876-0986d989387c}</Project>
</ProjectReference>
<ProjectReference Include="..\..\VisualStudio_StaticProjects\FreeRTOS-Kernel\FreeRTOS-Kernel.vcxproj">
<Project>{72c209c4-49a4-4942-a201-44706c9d77ec}</Project>
</ProjectReference>
<ProjectReference Include="..\..\VisualStudio_StaticProjects\Logging\Logging.vcxproj">
<Project>{be362ac0-b10b-4276-b84e-6304652ba228}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -1,389 +1,389 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="wolfSSL">
<UniqueIdentifier>{0f203ff4-373b-4655-952c-8c02392c935b}</UniqueIdentifier>
</Filter>
<Filter Include="wolfSSL\wolfcrypt">
<UniqueIdentifier>{a5051803-872c-41c6-ac09-0672c69946a1}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="ca-cert.pem">
<Filter>Source Files</Filter>
</None>
<None Include="server-cert.pem">
<Filter>Header Files</Filter>
</None>
<None Include="server-key.pem">
<Filter>Header Files</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_x25519_128.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mont_small.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_3.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_4.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_6.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_7.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_8.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_9.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_12.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_17.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_20.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_24.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_28.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_32.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_48.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_64.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_small_set.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_3.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_4.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_6.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_7.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_8.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_9.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_12.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_17.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_20.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_24.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_28.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_32.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_48.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_64.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_small_set.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SecureTCPClientTask.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SecureTCPServerTask.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\crl.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\internal.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\keys.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ocsp.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\sniffer.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ssl.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls13.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\wolfio.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\aes.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\arc4.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asm.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asn.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2b.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2s.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\camellia.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha20_poly1305.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cmac.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\coding.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\compress.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cpuid.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cryptocb.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve25519.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\des3.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dh.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dsa.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc_fp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed25519.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\error.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\evp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_low_mem.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_operations.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_low_mem.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_operations.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hash.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hc128.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hmac.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\idea.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\integer.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\logging.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md2.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md4.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md5.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\memory.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\misc.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs7.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs12.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\poly1305.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pwdbased.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rabbit.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\random.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ripemd.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rsa.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha3.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha256.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha512.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\signature.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm32.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm64.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_armthumb.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c32.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c64.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_cortexm.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_dsp32.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_int.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_x86_64.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\srp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\tfm.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_dsp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_encrypt.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_pkcs11.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_port.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfevent.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfmath.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="wolfSSL">
<UniqueIdentifier>{0f203ff4-373b-4655-952c-8c02392c935b}</UniqueIdentifier>
</Filter>
<Filter Include="wolfSSL\wolfcrypt">
<UniqueIdentifier>{a5051803-872c-41c6-ac09-0672c69946a1}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="ca-cert.pem">
<Filter>Source Files</Filter>
</None>
<None Include="server-cert.pem">
<Filter>Header Files</Filter>
</None>
<None Include="server-key.pem">
<Filter>Header Files</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_x25519_128.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mont_small.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_3.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_4.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_6.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_7.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_8.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_9.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_12.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_17.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_20.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_24.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_28.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_32.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_48.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_64.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_mul_comba_small_set.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_3.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_4.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_6.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_7.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_8.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_9.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_12.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_17.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_20.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_24.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_28.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_32.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_48.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_64.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
<None Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fp_sqr_comba_small_set.i">
<Filter>wolfSSL\wolfcrypt</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SecureTCPClientTask.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SecureTCPServerTask.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\crl.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\internal.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\keys.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ocsp.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\sniffer.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\ssl.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\tls13.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\src\wolfio.c">
<Filter>wolfSSL</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\aes.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\arc4.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asm.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\asn.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2b.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\blake2s.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\camellia.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\chacha20_poly1305.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cmac.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\coding.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\compress.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cpuid.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\cryptocb.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\curve25519.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\des3.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dh.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\dsa.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ecc_fp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ed25519.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\error.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\evp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_low_mem.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\fe_operations.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_448.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_low_mem.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ge_operations.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hash.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hc128.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\hmac.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\idea.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\integer.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\logging.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md2.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md4.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\md5.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\memory.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\misc.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs7.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pkcs12.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\poly1305.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\pwdbased.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rabbit.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\random.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\ripemd.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\rsa.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha3.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha256.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sha512.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\signature.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm32.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_arm64.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_armthumb.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c32.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_c64.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_cortexm.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_dsp32.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_int.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\sp_x86_64.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\srp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\tfm.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_dsp.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_encrypt.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_pkcs11.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wc_port.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfevent.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
<ClCompile Include="..\..\ThirdParty\wolfSSL\wolfcrypt\src\wolfmath.c">
<Filter>wolfSSL\wolfcrypt</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="user_settings.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View file

@ -1,5 +1,5 @@
[InternetShortcut]
URL=http://www.freertos.org/FreeRTOS-Plus/WolfSSL/FreeRTOS_WolfSSL_Example.shtml
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
[InternetShortcut]
URL=http://www.freertos.org/FreeRTOS-Plus/WolfSSL/FreeRTOS_WolfSSL_Example.shtml
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2

View file

@ -1,135 +1,133 @@
/*
* FreeRTOS V202212.00
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
* https://aws.amazon.com/freertos
*
*/
#pragma comment( lib, "ws2_32.lib" )
/* Win32 includes. */
#include <WinSock2.h>
/* wolfSSL includes. */
#include "wolfssl/ssl.h"
/* Standard includes. */
#include <stdint.h>
#include <stdio.h>
/* FreeRTOS includes. */
#include "FreeRTOS.h"
#include "task.h"
/*-----------------------------------------------------------*/
/* The wolfSSL context for the client. */
static WOLFSSL_CTX* xWolfSSL_ClientContext = NULL;
/*-----------------------------------------------------------*/
/* See the comments at the top of main.c. */
void vSecureTCPClientTask( void *pvParameters )
{
SOCKET xClientSocket;
struct sockaddr_in xConnection;
WOLFSSL* xWolfSSL_Object;
WORD wVersionRequested;
WSADATA xWSAData;
char cString[ 50 ];
BaseType_t lReturned;
uint32_t ulCount = 0UL;
/* Remove compiler warning about unused parameters. */
( void ) pvParameters;
/* Prepare to use WinSock. */
wVersionRequested = MAKEWORD( 2, 2 );
configASSERT( WSAStartup( wVersionRequested, &xWSAData ) == 0 );
/* Set family and port for client socket. */
memset( ( void * ) &xConnection, 0x00, sizeof( struct sockaddr_in ) );
xConnection.sin_family = AF_INET;
xConnection.sin_addr.s_addr = inet_addr("127.0.0.1");
xConnection.sin_port = htons( configTCP_PORT_NUMBER );
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
xWolfSSL_ClientContext = wolfSSL_CTX_new( wolfTLSv1_3_client_method() );
configASSERT( xWolfSSL_ClientContext );
/* Load the CA certificate. */
lReturned = wolfSSL_CTX_load_verify_locations( xWolfSSL_ClientContext, "ca-cert.pem", 0 );
configASSERT( lReturned == SSL_SUCCESS );
for( ;; )
{
/* Create the socket. */
xClientSocket = socket( AF_INET, SOCK_STREAM, 0 );
configASSERT( xClientSocket != INVALID_SOCKET );
/* Connect to the secure server. */
if( connect( xClientSocket, ( SOCKADDR * ) &xConnection, sizeof( xConnection ) ) == 0 )
{
/* The connect was successful. Create a wolfSSL object to associate
with this connection. */
xWolfSSL_Object = wolfSSL_new( xWolfSSL_ClientContext );
if( xWolfSSL_Object != NULL )
{
/* Associate the created wolfSSL object with the connected
socket. */
lReturned = wolfSSL_set_fd( xWolfSSL_Object, xClientSocket );
configASSERT( lReturned == SSL_SUCCESS );
/* The count is used to differentiate between messages sent to
the server, and to break out of the do while loop below. */
ulCount = 0UL;
do
{
/* Create the string that is sent to the secure server. */
sprintf( cString, "Message number %lu\r\n", ulCount );
/* The next line is the secure equivalent of the standard
sockets call:
lReturned = send( xClientSocket, cString, strlen( cString ) + 1, 0 ); */
lReturned = wolfSSL_write( xWolfSSL_Object, cString, strlen( cString ) + 1 );
/* Short delay to prevent the messages streaming up the
console too quickly. */
vTaskDelay( 50 );
ulCount++;
} while( ( lReturned != SOCKET_ERROR ) && ( ulCount < 10UL ) );
}
wolfSSL_free( xWolfSSL_Object );
closesocket( xClientSocket );
/* Delay for a short time before starting over. */
vTaskDelay( 250 );
}
}
}
/*-----------------------------------------------------------*/
/*
* FreeRTOS V202212.00
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
* https://github.com/FreeRTOS
*
*/
#pragma comment( lib, "ws2_32.lib" )
/* Win32 includes. */
#include <WinSock2.h>
/* wolfSSL includes. */
#include "wolfssl/ssl.h"
/* Standard includes. */
#include <stdint.h>
#include <stdio.h>
/* FreeRTOS includes. */
#include "FreeRTOS.h"
#include "task.h"
/*-----------------------------------------------------------*/
/* The wolfSSL context for the client. */
static WOLFSSL_CTX * xWolfSSL_ClientContext = NULL;
/*-----------------------------------------------------------*/
/* See the comments at the top of main.c. */
void vSecureTCPClientTask( void * pvParameters )
{
SOCKET xClientSocket;
struct sockaddr_in xConnection;
WOLFSSL * xWolfSSL_Object;
WORD wVersionRequested;
WSADATA xWSAData;
char cString[ 50 ];
BaseType_t lReturned;
uint32_t ulCount = 0UL;
/* Remove compiler warning about unused parameters. */
( void ) pvParameters;
/* Prepare to use WinSock. */
wVersionRequested = MAKEWORD( 2, 2 );
configASSERT( WSAStartup( wVersionRequested, &xWSAData ) == 0 );
/* Set family and port for client socket. */
memset( ( void * ) &xConnection, 0x00, sizeof( struct sockaddr_in ) );
xConnection.sin_family = AF_INET;
xConnection.sin_addr.s_addr = inet_addr( "127.0.0.1" );
xConnection.sin_port = htons( configTCP_PORT_NUMBER );
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
xWolfSSL_ClientContext = wolfSSL_CTX_new( wolfTLSv1_3_client_method() );
configASSERT( xWolfSSL_ClientContext );
/* Load the CA certificate. */
lReturned = wolfSSL_CTX_load_verify_locations( xWolfSSL_ClientContext, "ca-cert.pem", 0 );
configASSERT( lReturned == SSL_SUCCESS );
for( ; ; )
{
/* Create the socket. */
xClientSocket = socket( AF_INET, SOCK_STREAM, 0 );
configASSERT( xClientSocket != INVALID_SOCKET );
/* Connect to the secure server. */
if( connect( xClientSocket, ( SOCKADDR * ) &xConnection, sizeof( xConnection ) ) == 0 )
{
/* The connect was successful. Create a wolfSSL object to associate
* with this connection. */
xWolfSSL_Object = wolfSSL_new( xWolfSSL_ClientContext );
if( xWolfSSL_Object != NULL )
{
/* Associate the created wolfSSL object with the connected
* socket. */
lReturned = wolfSSL_set_fd( xWolfSSL_Object, xClientSocket );
configASSERT( lReturned == SSL_SUCCESS );
/* The count is used to differentiate between messages sent to
* the server, and to break out of the do while loop below. */
ulCount = 0UL;
do
{
/* Create the string that is sent to the secure server. */
sprintf( cString, "Message number %lu\r\n", ulCount );
/* The next line is the secure equivalent of the standard
* sockets call:
* lReturned = send( xClientSocket, cString, strlen( cString ) + 1, 0 ); */
lReturned = wolfSSL_write( xWolfSSL_Object, cString, strlen( cString ) + 1 );
/* Short delay to prevent the messages streaming up the
* console too quickly. */
vTaskDelay( 50 );
ulCount++;
} while( ( lReturned != SOCKET_ERROR ) && ( ulCount < 10UL ) );
}
wolfSSL_free( xWolfSSL_Object );
closesocket( xClientSocket );
/* Delay for a short time before starting over. */
vTaskDelay( 250 );
}
}
}
/*-----------------------------------------------------------*/

View file

@ -1,244 +1,243 @@
/*
* FreeRTOS V202212.00
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
* https://aws.amazon.com/freertos
*
*/
#pragma comment( lib, "ws2_32.lib" )
/* Win32 includes. */
#include <WinSock2.h>
/* wolfSSL includes. */
#include "wolfssl/ssl.h"
/* Standard includes. */
#include <stdint.h>
#include <stdio.h>
/* FreeRTOS includes. */
#include "FreeRTOS.h"
#include "task.h"
/* This application is using the FreeRTOS Windows simulator, which uses the
FreeRTOS scheduler to schedule FreeRTOS task within the Windows environment.
The Windows envrionment must not be allowed to block any Windows threads that
are running FreeRTOS tasks, unless the FreeRTOS task is running at the FreeRTOS
idle priority. For simplicity, this demo uses the Windows TCP/IP stack, the
API for which can cause Windows threads to block. Therefore, any FreeRTOS task
that makes calls to the Windows TCP/IP stack must be assigned the idle prioity.
Note this is only a restriction of the simulated Windows environment - real
FreeRTOS ports do not have this restriction. */
#define sstSECURE_CLIENT_TASK_PRIORITY ( tskIDLE_PRIORITY )
/*-----------------------------------------------------------*/
/*
* Open, configures and binds the server's TCP socket.
*/
static SOCKET prvOpenServerSocket( void );
/*
* Prepare the wolfSSL library for use.
*/
static void prvInitialiseWolfSSL( void );
/*
* The task that implements the client side of the connection.
*/
extern void vSecureTCPClientTask( void *pvParameters );
/*-----------------------------------------------------------*/
/* The wolfSSL context for the server. */
static WOLFSSL_CTX* xWolfSSL_ServerContext = NULL;
/*-----------------------------------------------------------*/
/* See the comments at the top of main.c. */
void vSecureTCPServerTask( void *pvParameters )
{
BaseType_t xReturned;
long lBytes;
uint8_t cReceivedString[ 60 ];
struct sockaddr_in xClient;
int xClientAddressLength = sizeof( struct sockaddr_in );
SOCKET xListeningSocket, xConnectedSocket;
WOLFSSL* xWolfSSL_Object; /* Only one connection is accepted at a time, so only one object is needed at a time. */
/* Just to prevent compiler warnings. */
( void ) pvParameters;
/* Perform the initialisation necessary before wolfSSL can be used. */
prvInitialiseWolfSSL();
configASSERT( xWolfSSL_ServerContext );
/* Attempt to open the socket. */
xListeningSocket = prvOpenServerSocket();
/* Now the server socket has been created and the wolfSSL library has been
initialised, the task that implements the client side can be created. */
xTaskCreate( vSecureTCPClientTask, "Client", configMINIMAL_STACK_SIZE, NULL, sstSECURE_CLIENT_TASK_PRIORITY, NULL );
if( xListeningSocket != INVALID_SOCKET )
{
for( ;; )
{
/* Wait until the client connects. */
printf( "Waiting for new connection\r\n" );
xConnectedSocket = accept( xListeningSocket, ( struct sockaddr * ) &xClient, &xClientAddressLength );
if( xConnectedSocket != INVALID_SOCKET )
{
printf( "Connection established\r\n" );
/* A connection has been accepted by the server. Create a
wolfSSL object for use with the newly connected socket. */
xWolfSSL_Object = NULL;
xWolfSSL_Object = wolfSSL_new( xWolfSSL_ServerContext );
if( xWolfSSL_Object != NULL )
{
/* Associate the created wolfSSL object with the connected
socket. */
xReturned = wolfSSL_set_fd( xWolfSSL_Object, xConnectedSocket );
configASSERT( xReturned == SSL_SUCCESS );
do
{
/* The next line is the secure equivalent to the
standard sockets call:
lBytes = recv( xConnectedSocket, cReceivedString, 50, 0 ); */
lBytes = wolfSSL_read( xWolfSSL_Object, cReceivedString, sizeof( cReceivedString ) );
/* Print the received characters. */
if( lBytes > 0 )
{
printf( "Received by the secure server: %s\r\n", cReceivedString );
}
} while ( lBytes > 0 );
/* The connection was closed, close the socket and free the
wolfSSL object. */
closesocket( xConnectedSocket );
wolfSSL_free( xWolfSSL_Object );
printf( "Connection closed, back to start\r\n\r\n" );
}
}
}
}
else
{
/* The socket could not be opened. */
vTaskDelete( NULL );
}
}
/*-----------------------------------------------------------*/
static SOCKET prvOpenServerSocket( void )
{
WSADATA xWSAData;
WORD wVersionRequested;
struct sockaddr_in xConnection;
SOCKET xSocket = INVALID_SOCKET;
wVersionRequested = MAKEWORD( 2, 2 );
/* Prepare to use WinSock. */
if( WSAStartup( wVersionRequested, &xWSAData ) != 0 )
{
fprintf( stderr, "Could not open Windows connection.\n" );
}
else
{
xSocket = socket( AF_INET, SOCK_STREAM, 0 );
if( xSocket == INVALID_SOCKET)
{
fprintf( stderr, "Could not create socket.\n" );
WSACleanup();
}
else
{
/* Zero out the server structure. */
memset( ( void * ) &xConnection, 0x00, sizeof( struct sockaddr_in ) );
xConnection.sin_family = AF_INET;
xConnection.sin_addr.s_addr = inet_addr("127.0.0.1");
xConnection.sin_port = htons( configTCP_PORT_NUMBER );
/* Bind the address to the socket. */
if( bind( xSocket, ( struct sockaddr * ) &xConnection, sizeof( struct sockaddr_in ) ) == -1 )
{
fprintf( stderr, "Could not socket to port %d.\n", configTCP_PORT_NUMBER );
closesocket( xSocket );
xSocket = INVALID_SOCKET;
WSACleanup();
}
if( listen( xSocket, 20 ) != 0 )
{
closesocket( xSocket );
xSocket = INVALID_SOCKET;
WSACleanup();
}
}
}
return xSocket;
}
/*-----------------------------------------------------------*/
static void prvInitialiseWolfSSL( void )
{
int32_t iReturn;
#ifdef DEBUG_WOLFSSL
{
wolfSSL_Debugging_ON();
}
#endif
/* Initialise wolfSSL. This must be done before any other wolfSSL functions
are called. */
wolfSSL_Init();
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
xWolfSSL_ServerContext = wolfSSL_CTX_new( wolfTLSv1_3_server_method() );
if( xWolfSSL_ServerContext != NULL )
{
/* Load the CA certificate. Real applications should ensure that
wolfSSL_CTX_load_verify_locations() returns SSL_SUCCESS before
proceeding. */
iReturn = wolfSSL_CTX_load_verify_locations( xWolfSSL_ServerContext, "ca-cert.pem", 0 );
configASSERT( iReturn == SSL_SUCCESS );
iReturn = wolfSSL_CTX_use_certificate_file( xWolfSSL_ServerContext, "server-cert.pem", SSL_FILETYPE_PEM );
configASSERT( iReturn == SSL_SUCCESS );
iReturn = wolfSSL_CTX_use_PrivateKey_file( xWolfSSL_ServerContext, "server-key.pem", SSL_FILETYPE_PEM );
configASSERT( iReturn == SSL_SUCCESS );
}
}
/*
* FreeRTOS V202212.00
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
* https://github.com/FreeRTOS
*
*/
#pragma comment( lib, "ws2_32.lib" )
/* Win32 includes. */
#include <WinSock2.h>
/* wolfSSL includes. */
#include "wolfssl/ssl.h"
/* Standard includes. */
#include <stdint.h>
#include <stdio.h>
/* FreeRTOS includes. */
#include "FreeRTOS.h"
#include "task.h"
/* This application is using the FreeRTOS Windows simulator, which uses the
* FreeRTOS scheduler to schedule FreeRTOS task within the Windows environment.
* The Windows envrionment must not be allowed to block any Windows threads that
* are running FreeRTOS tasks, unless the FreeRTOS task is running at the FreeRTOS
* idle priority. For simplicity, this demo uses the Windows TCP/IP stack, the
* API for which can cause Windows threads to block. Therefore, any FreeRTOS task
* that makes calls to the Windows TCP/IP stack must be assigned the idle priority.
* Note this is only a restriction of the simulated Windows environment - real
* FreeRTOS ports do not have this restriction. */
#define sstSECURE_CLIENT_TASK_PRIORITY ( tskIDLE_PRIORITY )
/*-----------------------------------------------------------*/
/*
* Open, configures and binds the server's TCP socket.
*/
static SOCKET prvOpenServerSocket( void );
/*
* Prepare the wolfSSL library for use.
*/
static void prvInitialiseWolfSSL( void );
/*
* The task that implements the client side of the connection.
*/
extern void vSecureTCPClientTask( void * pvParameters );
/*-----------------------------------------------------------*/
/* The wolfSSL context for the server. */
static WOLFSSL_CTX * xWolfSSL_ServerContext = NULL;
/*-----------------------------------------------------------*/
/* See the comments at the top of main.c. */
void vSecureTCPServerTask( void * pvParameters )
{
BaseType_t xReturned;
long lBytes;
uint8_t cReceivedString[ 60 ];
struct sockaddr_in xClient;
int xClientAddressLength = sizeof( struct sockaddr_in );
SOCKET xListeningSocket, xConnectedSocket;
WOLFSSL * xWolfSSL_Object; /* Only one connection is accepted at a time, so only one object is needed at a time. */
/* Just to prevent compiler warnings. */
( void ) pvParameters;
/* Perform the initialisation necessary before wolfSSL can be used. */
prvInitialiseWolfSSL();
configASSERT( xWolfSSL_ServerContext );
/* Attempt to open the socket. */
xListeningSocket = prvOpenServerSocket();
/* Now the server socket has been created and the wolfSSL library has been
* initialised, the task that implements the client side can be created. */
xTaskCreate( vSecureTCPClientTask, "Client", configMINIMAL_STACK_SIZE, NULL, sstSECURE_CLIENT_TASK_PRIORITY, NULL );
if( xListeningSocket != INVALID_SOCKET )
{
for( ; ; )
{
/* Wait until the client connects. */
printf( "Waiting for new connection\r\n" );
xConnectedSocket = accept( xListeningSocket, ( struct sockaddr * ) &xClient, &xClientAddressLength );
if( xConnectedSocket != INVALID_SOCKET )
{
printf( "Connection established\r\n" );
/* A connection has been accepted by the server. Create a
* wolfSSL object for use with the newly connected socket. */
xWolfSSL_Object = NULL;
xWolfSSL_Object = wolfSSL_new( xWolfSSL_ServerContext );
if( xWolfSSL_Object != NULL )
{
/* Associate the created wolfSSL object with the connected
* socket. */
xReturned = wolfSSL_set_fd( xWolfSSL_Object, xConnectedSocket );
configASSERT( xReturned == SSL_SUCCESS );
do
{
/* The next line is the secure equivalent to the
* standard sockets call:
* lBytes = recv( xConnectedSocket, cReceivedString, 50, 0 ); */
lBytes = wolfSSL_read( xWolfSSL_Object, cReceivedString, sizeof( cReceivedString ) );
/* Print the received characters. */
if( lBytes > 0 )
{
printf( "Received by the secure server: %s\r\n", cReceivedString );
}
} while( lBytes > 0 );
/* The connection was closed, close the socket and free the
* wolfSSL object. */
closesocket( xConnectedSocket );
wolfSSL_free( xWolfSSL_Object );
printf( "Connection closed, back to start\r\n\r\n" );
}
}
}
}
else
{
/* The socket could not be opened. */
vTaskDelete( NULL );
}
}
/*-----------------------------------------------------------*/
static SOCKET prvOpenServerSocket( void )
{
WSADATA xWSAData;
WORD wVersionRequested;
struct sockaddr_in xConnection;
SOCKET xSocket = INVALID_SOCKET;
wVersionRequested = MAKEWORD( 2, 2 );
/* Prepare to use WinSock. */
if( WSAStartup( wVersionRequested, &xWSAData ) != 0 )
{
fprintf( stderr, "Could not open Windows connection.\n" );
}
else
{
xSocket = socket( AF_INET, SOCK_STREAM, 0 );
if( xSocket == INVALID_SOCKET )
{
fprintf( stderr, "Could not create socket.\n" );
WSACleanup();
}
else
{
/* Zero out the server structure. */
memset( ( void * ) &xConnection, 0x00, sizeof( struct sockaddr_in ) );
xConnection.sin_family = AF_INET;
xConnection.sin_addr.s_addr = inet_addr( "127.0.0.1" );
xConnection.sin_port = htons( configTCP_PORT_NUMBER );
/* Bind the address to the socket. */
if( bind( xSocket, ( struct sockaddr * ) &xConnection, sizeof( struct sockaddr_in ) ) == -1 )
{
fprintf( stderr, "Could not socket to port %d.\n", configTCP_PORT_NUMBER );
closesocket( xSocket );
xSocket = INVALID_SOCKET;
WSACleanup();
}
if( listen( xSocket, 20 ) != 0 )
{
closesocket( xSocket );
xSocket = INVALID_SOCKET;
WSACleanup();
}
}
}
return xSocket;
}
/*-----------------------------------------------------------*/
static void prvInitialiseWolfSSL( void )
{
int32_t iReturn;
#ifdef DEBUG_WOLFSSL
{
wolfSSL_Debugging_ON();
}
#endif
/* Initialise wolfSSL. This must be done before any other wolfSSL functions
* are called. */
wolfSSL_Init();
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
xWolfSSL_ServerContext = wolfSSL_CTX_new( wolfTLSv1_3_server_method() );
if( xWolfSSL_ServerContext != NULL )
{
/* Load the CA certificate. Real applications should ensure that
* wolfSSL_CTX_load_verify_locations() returns SSL_SUCCESS before
* proceeding. */
iReturn = wolfSSL_CTX_load_verify_locations( xWolfSSL_ServerContext, "ca-cert.pem", 0 );
configASSERT( iReturn == SSL_SUCCESS );
iReturn = wolfSSL_CTX_use_certificate_file( xWolfSSL_ServerContext, "server-cert.pem", SSL_FILETYPE_PEM );
configASSERT( iReturn == SSL_SUCCESS );
iReturn = wolfSSL_CTX_use_PrivateKey_file( xWolfSSL_ServerContext, "server-key.pem", SSL_FILETYPE_PEM );
configASSERT( iReturn == SSL_SUCCESS );
}
}

View file

@ -1,90 +1,89 @@
/*
* FreeRTOS V202212.00
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
* https://github.com/FreeRTOS
*
*/
/* Standard includes. */
#include <stdio.h>
#include <stdint.h>
/* FreeRTOS includes. */
#include <FreeRTOS.h>
#include "task.h"
/* This application is using the FreeRTOS Windows simulator, which uses the
FreeRTOS scheduler to schedule FreeRTOS task within the Windows environment.
The Windows environment must not be allowed to block any Windows threads that
are running FreeRTOS tasks, unless the FreeRTOS task is running at the FreeRTOS
idle priority. For simplicity, this demo uses the Windows TCP/IP stack, the
API for which can cause Windows threads to block. Therefore, any FreeRTOS task
that makes calls to the Windows TCP/IP stack must be assigned the idle priority.
Note this is only a restriction of the simulated Windows environment - real
FreeRTOS ports do not have this restriction. */
#define mainSECURE_SERVER_TASK_PRIORITY ( tskIDLE_PRIORITY )
/*-----------------------------------------------------------*/
/*
* The task that implements the server side.
*/
extern void vSecureTCPServerTask( void *pvParameters );
/*-----------------------------------------------------------*/
int main( void )
{
const uint32_t ulLongTime_ms = 250UL;
/* Create the TCP server task. This will itself create the client task
once it has completed the wolfSSL initialisation. */
xTaskCreate( vSecureTCPServerTask, "Server", configMINIMAL_STACK_SIZE, NULL, mainSECURE_SERVER_TASK_PRIORITY, NULL );
/* Start the task running. */
vTaskStartScheduler();
/* If all is well, the scheduler will now be running, and the following
line will never be reached. If the following line does execute, then
there was insufficient FreeRTOS heap memory available for the idle and/or
timer tasks to be created. See the memory management section on the
FreeRTOS web site for more details (this is standard text that is not
really applicable to the Win32 simulator port). */
for( ;; )
{
Sleep( ulLongTime_ms );
}
}
/*-----------------------------------------------------------*/
void vApplicationIdleHook( void )
{
const unsigned long ulMSToSleep = 5;
/* This function is called on each cycle of the idle task if
configUSE_IDLE_HOOK is set to 1 in FreeRTOSConfig.h. Sleep to reduce CPU
load. */
Sleep( ulMSToSleep );
}
/*-----------------------------------------------------------*/
/*
* FreeRTOS V202212.00
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
* https://github.com/FreeRTOS
*
*/
/* Standard includes. */
#include <stdio.h>
#include <stdint.h>
/* FreeRTOS includes. */
#include <FreeRTOS.h>
#include "task.h"
/* This application is using the FreeRTOS Windows simulator, which uses the
* FreeRTOS scheduler to schedule FreeRTOS task within the Windows environment.
* The Windows environment must not be allowed to block any Windows threads that
* are running FreeRTOS tasks, unless the FreeRTOS task is running at the FreeRTOS
* idle priority. For simplicity, this demo uses the Windows TCP/IP stack, the
* API for which can cause Windows threads to block. Therefore, any FreeRTOS task
* that makes calls to the Windows TCP/IP stack must be assigned the idle priority.
* Note this is only a restriction of the simulated Windows environment - real
* FreeRTOS ports do not have this restriction. */
#define mainSECURE_SERVER_TASK_PRIORITY ( tskIDLE_PRIORITY )
/*-----------------------------------------------------------*/
/*
* The task that implements the server side.
*/
extern void vSecureTCPServerTask( void * pvParameters );
/*-----------------------------------------------------------*/
int main( void )
{
const uint32_t ulLongTime_ms = 250UL;
/* Create the TCP server task. This will itself create the client task
* once it has completed the wolfSSL initialisation. */
xTaskCreate( vSecureTCPServerTask, "Server", configMINIMAL_STACK_SIZE, NULL, mainSECURE_SERVER_TASK_PRIORITY, NULL );
/* Start the task running. */
vTaskStartScheduler();
/* If all is well, the scheduler will now be running, and the following
* line will never be reached. If the following line does execute, then
* there was insufficient FreeRTOS heap memory available for the idle and/or
* timer tasks to be created. See the memory management section on the
* FreeRTOS web site for more details (this is standard text that is not
* really applicable to the Win32 simulator port). */
for( ; ; )
{
Sleep( ulLongTime_ms );
}
}
/*-----------------------------------------------------------*/
void vApplicationIdleHook( void )
{
const unsigned long ulMSToSleep = 5;
/* This function is called on each cycle of the idle task if
* configUSE_IDLE_HOOK is set to 1 in FreeRTOSConfig.h. Sleep to reduce CPU
* load. */
Sleep( ulMSToSleep );
}
/*-----------------------------------------------------------*/

View file

@ -1,6 +1,6 @@
/*
* FreeRTOS V202212.00
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
@ -33,27 +33,27 @@
*
*
*----------------------------------------------------------------------------*/
#define WOLFSSL_TLS13
#define HAVE_FFDHE_2048
#define WC_RSA_PSS
#define HAVE_HKDF
#define WOLFSSL_TLS13
#define HAVE_FFDHE_2048
#define WC_RSA_PSS
#define HAVE_HKDF
#define HAVE_AESGCM
#define WOLFSSL_AES_128
#define HAVE_AES_CBC
#define WOLFSSL_SHA512
#define HAVE_TLS_EXTENSIONS
#define HAVE_SUPPORTED_CURVES
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define HAVE_AESGCM
#define WOLFSSL_AES_128
#define HAVE_AES_CBC
#define WOLFSSL_SHA512
#define WC_RSA_BLINDING
#define ECC_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
#define HAVE_TLS_EXTENSIONS
#define HAVE_SUPPORTED_CURVES
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define WC_RSA_BLINDING
#define ECC_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
/*-- Debugging options ------------------------------------------------------
@ -65,6 +65,6 @@
/*#define DEBUG_WOLFSSL*/
/* The TCP port used by both the secure client and the secure server. */
#define configTCP_PORT_NUMBER 5001
#define configTCP_PORT_NUMBER 5001
#endif /* ifndef USER_SETTINGS_H_ */
#endif /* ifndef USER_SETTINGS_H_ */