summaryrefslogtreecommitdiffstats
path: root/debian/vendor-h2o/deps/picotls/picotlsvs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/cifra/ReadMe.txt29
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj188
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj.filters150
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/microecc/ReadMe.txt29
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj140
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj.filters25
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/openssl.cnf35
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotls/ReadMe.txt37
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj175
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.filters123
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.user4
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotls/targetver.h8
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wincompat.h35
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wintimeofday.c73
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs.sln78
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ReadMe.txt40
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/cert.pem20
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_cert.pem14
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_key.pem5
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-1.pem5
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-2.pem9
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-3.pem5
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-4.pem5
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key.pem28
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/myec1.pem5
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/openssl.cnf35
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.c674
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj161
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.filters30
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.user4
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/targetver.h8
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj168
-rw-r--r--debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj.filters41
33 files changed, 2386 insertions, 0 deletions
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/ReadMe.txt b/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/ReadMe.txt
new file mode 100644
index 0000000..c1a42b2
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/ReadMe.txt
@@ -0,0 +1,29 @@
+========================================================================
+ STATIC LIBRARY : cifra Project Overview
+========================================================================
+
+AppWizard has created this cifra library project for you.
+
+No source files were created as part of your project.
+
+
+cifra.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+cifra.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj b/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj
new file mode 100644
index 0000000..53c73cf
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <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>15.0</VCProjectVersion>
+ <ProjectGuid>{5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>cifra</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</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 Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)..\..\deps\cifra\src;$(ProjectDir)..\..\deps\cifra\src\ext;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)..\..\deps\cifra\src;$(ProjectDir)..\..\deps\cifra\src\ext;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)..\..\deps\cifra\src;$(ProjectDir)..\..\deps\cifra\src\ext;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSLDIR)\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>NDEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)..\..\deps\cifra\src;$(ProjectDir)..\..\deps\cifra\src\ext;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\deps\cifra\src\aes.c" />
+ <ClCompile Include="..\..\deps\cifra\src\blockwise.c" />
+ <ClCompile Include="..\..\deps\cifra\src\chacha20.c" />
+ <ClCompile Include="..\..\deps\cifra\src\chacha20poly1305.c" />
+ <ClCompile Include="..\..\deps\cifra\src\chash.c" />
+ <ClCompile Include="..\..\deps\cifra\src\cmac.c" />
+ <ClCompile Include="..\..\deps\cifra\src\curve25519.c" />
+ <ClCompile Include="..\..\deps\cifra\src\drbg.c" />
+ <ClCompile Include="..\..\deps\cifra\src\eax.c" />
+ <ClCompile Include="..\..\deps\cifra\src\gcm.c" />
+ <ClCompile Include="..\..\deps\cifra\src\gf128.c" />
+ <ClCompile Include="..\..\deps\cifra\src\hmac.c" />
+ <ClCompile Include="..\..\deps\cifra\src\modes.c" />
+ <ClCompile Include="..\..\deps\cifra\src\norx.c" />
+ <ClCompile Include="..\..\deps\cifra\src\ocb.c" />
+ <ClCompile Include="..\..\deps\cifra\src\pbkdf2.c" />
+ <ClCompile Include="..\..\deps\cifra\src\poly1305.c" />
+ <ClCompile Include="..\..\deps\cifra\src\salsa20.c" />
+ <ClCompile Include="..\..\deps\cifra\src\sha1.c" />
+ <ClCompile Include="..\..\deps\cifra\src\sha256.c" />
+ <ClCompile Include="..\..\deps\cifra\src\sha512.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\deps\cifra\src\aes.h" />
+ <ClInclude Include="..\..\deps\cifra\src\bitops.h" />
+ <ClInclude Include="..\..\deps\cifra\src\blockwise.h" />
+ <ClInclude Include="..\..\deps\cifra\src\cf_config.h" />
+ <ClInclude Include="..\..\deps\cifra\src\chacha20poly1305.h" />
+ <ClInclude Include="..\..\deps\cifra\src\chash.h" />
+ <ClInclude Include="..\..\deps\cifra\src\curve25519.h" />
+ <ClInclude Include="..\..\deps\cifra\src\drbg.h" />
+ <ClInclude Include="..\..\deps\cifra\src\gf128.h" />
+ <ClInclude Include="..\..\deps\cifra\src\hmac.h" />
+ <ClInclude Include="..\..\deps\cifra\src\modes.h" />
+ <ClInclude Include="..\..\deps\cifra\src\norx.h" />
+ <ClInclude Include="..\..\deps\cifra\src\pbkdf2.h" />
+ <ClInclude Include="..\..\deps\cifra\src\poly1305.h" />
+ <ClInclude Include="..\..\deps\cifra\src\prp.h" />
+ <ClInclude Include="..\..\deps\cifra\src\salsa20.h" />
+ <ClInclude Include="..\..\deps\cifra\src\sha1.h" />
+ <ClInclude Include="..\..\deps\cifra\src\sha2.h" />
+ <ClInclude Include="..\..\deps\cifra\src\sha3.h" />
+ <ClInclude Include="..\..\deps\cifra\src\tassert.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\deps\cifra\src\poly1305.py" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj.filters b/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj.filters
new file mode 100644
index 0000000..6c0de7f
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/cifra/cifra.vcxproj.filters
@@ -0,0 +1,150 @@
+<?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;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;hm;inl;inc;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>
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\deps\cifra\src\aes.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\blockwise.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\chacha20.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\chacha20poly1305.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\chash.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\cmac.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\drbg.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\eax.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\gcm.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\gf128.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\hmac.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\modes.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\norx.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\ocb.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\pbkdf2.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\poly1305.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\salsa20.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\sha1.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\sha256.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\sha512.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\deps\cifra\src\curve25519.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\deps\cifra\src\aes.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\bitops.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\blockwise.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\cf_config.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\chacha20poly1305.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\chash.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\curve25519.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\drbg.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\gf128.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\hmac.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\modes.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\norx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\pbkdf2.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\poly1305.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\prp.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\salsa20.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\sha1.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\sha2.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\sha3.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\tassert.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\deps\cifra\src\poly1305.py" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/ReadMe.txt b/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/ReadMe.txt
new file mode 100644
index 0000000..ed0a528
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/ReadMe.txt
@@ -0,0 +1,29 @@
+========================================================================
+ STATIC LIBRARY : microecc Project Overview
+========================================================================
+
+AppWizard has created this microecc library project for you.
+
+No source files were created as part of your project.
+
+
+microecc.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+microecc.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj b/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj
new file mode 100644
index 0000000..46ebc5b
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <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>15.0</VCProjectVersion>
+ <ProjectGuid>{3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>microecc</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</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 Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)\..\..\picotls;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\deps\cifra\src;$(ProjectDir)\..\..\deps\cifra\src\ext;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSLDIR)\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>NDEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\deps\micro-ecc\uECC.c" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj.filters b/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj.filters
new file mode 100644
index 0000000..b7ed7be
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/microecc/microecc.vcxproj.filters
@@ -0,0 +1,25 @@
+<?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;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;hm;inl;inc;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>
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\deps\micro-ecc\uECC.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/openssl.cnf b/debian/vendor-h2o/deps/picotls/picotlsvs/openssl.cnf
new file mode 100644
index 0000000..c96e843
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/openssl.cnf
@@ -0,0 +1,35 @@
+[ req ]
+default_bits = 1024
+default_keyfile= privkey.pem
+distinguished_name = req_distinguished_name
+
+
+[ req_distinguished_name ]
+countryName= US
+countryName_min= 2
+countryName_max = 2
+stateOrProvinceName= Washington
+localityName = Seattle
+organizationName = Example
+commonName = Localhost
+commonName_max = 64
+emailAddress = localhost@example.com
+emailAddress_max = 40
+
+
+[ alternate_names ]
+
+DNS.1 = example.com
+DNS.2 = www.example.com
+DNS.3 = mail.example.com
+DNS.4 = ftp.example.com
+
+# Add these if you need them. But usually you don't want them or
+# need them in production. You may need them for development.
+# DNS.5 = localhost
+# DNS.6 = localhost.localdomain
+# DNS.7 = 127.0.0.1
+
+# IPv6 localhost
+# DNS.8 = ::1
+
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/ReadMe.txt b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/ReadMe.txt
new file mode 100644
index 0000000..08baa57
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/ReadMe.txt
@@ -0,0 +1,37 @@
+========================================================================
+ STATIC LIBRARY : picotls Project Overview
+========================================================================
+
+AppWizard has created this picotls library project for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your picotls application.
+
+
+picotls.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+picotls.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named picotls.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj
new file mode 100644
index 0000000..1eea9ea
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <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>15.0</VCProjectVersion>
+ <ProjectGuid>{46E6D6E9-7A30-4058-9661-DF70CC07E821}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>picotls</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</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 Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)\..\..\picotls;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\deps\cifra\src;$(ProjectDir)\..\..\deps\cifra\src\ext;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSLDIR)\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)..\..\include\picotls;$(ProjectDir)..\..\deps\cifra\src;$(ProjectDir)..\..\deps\micro-ecc;$(OPENSSL64DIR)\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)\..\..\picotls;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\deps\cifra\src;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSLDIR)\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>NDEBUG;_LIB;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)..\..\include\picotls;$(ProjectDir)..\..\deps\cifra\src;$(ProjectDir)..\..\deps\micro-ecc;$(OPENSSL64DIR)\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\deps\cifra\src\aes.h" />
+ <ClInclude Include="..\..\deps\cifra\src\bitops.h" />
+ <ClInclude Include="..\..\deps\cifra\src\blockwise.h" />
+ <ClInclude Include="..\..\deps\cifra\src\cf_config.h" />
+ <ClInclude Include="..\..\deps\cifra\src\chacha20poly1305.h" />
+ <ClInclude Include="..\..\deps\cifra\src\chash.h" />
+ <ClInclude Include="..\..\deps\cifra\src\curve25519.h" />
+ <ClInclude Include="..\..\deps\cifra\src\drbg.h" />
+ <ClInclude Include="..\..\deps\cifra\src\gf128.h" />
+ <ClInclude Include="..\..\deps\cifra\src\hmac.h" />
+ <ClInclude Include="..\..\deps\cifra\src\modes.h" />
+ <ClInclude Include="..\..\deps\cifra\src\norx.h" />
+ <ClInclude Include="..\..\deps\cifra\src\pbkdf2.h" />
+ <ClInclude Include="..\..\deps\cifra\src\poly1305.h" />
+ <ClInclude Include="..\..\deps\cifra\src\prp.h" />
+ <ClInclude Include="..\..\deps\cifra\src\salsa20.h" />
+ <ClInclude Include="..\..\deps\cifra\src\sha1.h" />
+ <ClInclude Include="..\..\deps\cifra\src\sha2.h" />
+ <ClInclude Include="..\..\deps\cifra\src\sha3.h" />
+ <ClInclude Include="..\..\deps\cifra\src\tassert.h" />
+ <ClInclude Include="..\..\include\picotls\asn1.h" />
+ <ClInclude Include="..\..\include\picotls\minicrypto.h" />
+ <ClInclude Include="..\..\include\picotls\pembase64.h" />
+ <ClInclude Include="targetver.h" />
+ <ClInclude Include="wincompat.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\lib\asn1.c" />
+ <ClCompile Include="..\..\lib\pembase64.c" />
+ <ClCompile Include="..\..\lib\cifra.c" />
+ <ClCompile Include="..\..\lib\openssl.c" />
+ <ClCompile Include="..\..\lib\picotls.c" />
+ <ClCompile Include="..\..\lib\uecc.c" />
+ <ClCompile Include="wintimeofday.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\deps\cifra\src\poly1305.py" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.filters b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.filters
new file mode 100644
index 0000000..4603cc4
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.filters
@@ -0,0 +1,123 @@
+<?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;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;hm;inl;inc;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>
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="wincompat.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\aes.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\bitops.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\blockwise.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\cf_config.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\chacha20poly1305.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\chash.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\curve25519.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\drbg.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\gf128.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\hmac.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\modes.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\norx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\pbkdf2.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\poly1305.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\prp.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\salsa20.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\sha1.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\sha2.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\sha3.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\tassert.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\include\picotls\minicrypto.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\include\picotls\asn1.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\include\picotls\pembase64.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\lib\openssl.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\lib\picotls.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\lib\uecc.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wintimeofday.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\lib\cifra.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\lib\pembase64.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\lib\asn1.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\deps\cifra\src\poly1305.py" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.user b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.user
new file mode 100644
index 0000000..be25078
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/picotls.vcxproj.user
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup />
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/targetver.h b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wincompat.h b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wincompat.h
new file mode 100644
index 0000000..8ff26bf
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wincompat.h
@@ -0,0 +1,35 @@
+#ifndef WINCOMPAT_H
+#define WINCOMPAT_H
+
+#include <stdint.h>
+#define ssize_t int
+#include <Winsock2.h>
+
+#ifndef gettimeofday
+#define gettimeofday wintimeofday
+
+#ifndef __attribute__
+#define __attribute__(X)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ struct timezone {
+ int tz_minuteswest; /* minutes west of Greenwich */
+ int tz_dsttime; /* type of DST correction */
+ };
+
+ int wintimeofday(struct timeval* tv, struct timezone* tz);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+
+
+#endif
+
+
+#endif /* WINCOMPAT_H */ \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wintimeofday.c b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wintimeofday.c
new file mode 100644
index 0000000..a293707
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotls/wintimeofday.c
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2016 Christian Huitema <huitema@huitema.net>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifdef _WINDOWS
+#include "wincompat.h"
+
+ /*
+ * This is a simple replacement for the "gettimeofday" finction,
+ * which is not available on Windows
+ */
+
+int wintimeofday(struct timeval* tv, struct timezone* tz)
+{
+ FILETIME ft;
+ uint64_t now = 0;
+
+ /*
+ * The GetSystemTimeAsFileTime API returns the number
+ * of 100-nanosecond intervals since January 1, 1601 (UTC),
+ * in FILETIME format.
+ */
+ GetSystemTimeAsFileTime(&ft);
+
+ /*
+ * Convert to plain 64 bit format, without making
+ * assumptions about the FILETIME structure alignment.
+ */
+ now = ft.dwHighDateTime;
+ now <<= 32;
+ now |= ft.dwLowDateTime;
+ /*
+ * Convert units from 100ns to 1us
+ */
+ now /= 10;
+ /*
+ * Account for microseconds elapsed between 1601 and 1970.
+ */
+ now -= 11644473600000000ULL;
+
+ if (tv != NULL)
+ {
+ uint64_t sec = now / 1000000;
+ uint64_t usec = now % 1000000;
+
+ tv->tv_sec = (long)sec;
+ tv->tv_usec = (long)usec;
+ }
+
+ if (tz != NULL)
+ {
+ /*
+ * TODO: implement a timezone retrieval function.
+ * Not urgent, since the GetDNS code always set this parameter to NULL.
+ */
+ return -1;
+ }
+
+ return 0;
+}
+#endif /* WIN32 */ \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs.sln b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs.sln
new file mode 100644
index 0000000..dd273a4
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs.sln
@@ -0,0 +1,78 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26228.9
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "picotlsvs", "picotlsvs\picotlsvs.vcxproj", "{D0265367-FCCF-47A4-95FD-C33BECAB3486}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440} = {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821} = {46E6D6E9-7A30-4058-9661-DF70CC07E821}
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A} = {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "picotls", "picotls\picotls.vcxproj", "{46E6D6E9-7A30-4058-9661-DF70CC07E821}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testopenssl", "testopenssl\testopenssl.vcxproj", "{8750EE3B-9440-48BF-8D83-7274E94B06A7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440} = {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821} = {46E6D6E9-7A30-4058-9661-DF70CC07E821}
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A} = {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "microecc", "microecc\microecc.vcxproj", "{3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cifra", "cifra\cifra.vcxproj", "{5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Debug|x64.ActiveCfg = Debug|x64
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Debug|x64.Build.0 = Debug|x64
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Debug|x86.ActiveCfg = Debug|Win32
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Debug|x86.Build.0 = Debug|Win32
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Release|x64.ActiveCfg = Release|x64
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Release|x64.Build.0 = Release|x64
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Release|x86.ActiveCfg = Release|Win32
+ {D0265367-FCCF-47A4-95FD-C33BECAB3486}.Release|x86.Build.0 = Release|Win32
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Debug|x64.ActiveCfg = Debug|x64
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Debug|x64.Build.0 = Debug|x64
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Debug|x86.ActiveCfg = Debug|Win32
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Debug|x86.Build.0 = Debug|Win32
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Release|x64.ActiveCfg = Release|x64
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Release|x64.Build.0 = Release|x64
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Release|x86.ActiveCfg = Release|Win32
+ {46E6D6E9-7A30-4058-9661-DF70CC07E821}.Release|x86.Build.0 = Release|Win32
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Debug|x64.ActiveCfg = Debug|x64
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Debug|x64.Build.0 = Debug|x64
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Debug|x86.ActiveCfg = Debug|Win32
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Debug|x86.Build.0 = Debug|Win32
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Release|x64.ActiveCfg = Release|x64
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Release|x64.Build.0 = Release|x64
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Release|x86.ActiveCfg = Release|Win32
+ {8750EE3B-9440-48BF-8D83-7274E94B06A7}.Release|x86.Build.0 = Release|Win32
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Debug|x64.ActiveCfg = Debug|x64
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Debug|x64.Build.0 = Debug|x64
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Debug|x86.ActiveCfg = Debug|Win32
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Debug|x86.Build.0 = Debug|Win32
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Release|x64.ActiveCfg = Release|x64
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Release|x64.Build.0 = Release|x64
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Release|x86.ActiveCfg = Release|Win32
+ {3440FDEA-84D2-4424-BB19-B4B26A6ADC8A}.Release|x86.Build.0 = Release|Win32
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Debug|x64.ActiveCfg = Debug|x64
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Debug|x64.Build.0 = Debug|x64
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Debug|x86.ActiveCfg = Debug|Win32
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Debug|x86.Build.0 = Debug|Win32
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Release|x64.ActiveCfg = Release|x64
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Release|x64.Build.0 = Release|x64
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Release|x86.ActiveCfg = Release|Win32
+ {5D4DA3A3-7851-4CAE-AE4F-C421A2C8C440}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ReadMe.txt b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ReadMe.txt
new file mode 100644
index 0000000..b12bf06
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ReadMe.txt
@@ -0,0 +1,40 @@
+========================================================================
+ CONSOLE APPLICATION : picotlsvs Project Overview
+========================================================================
+
+AppWizard has created this picotlsvs application for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your picotlsvs application.
+
+
+picotlsvs.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+picotlsvs.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+picotlsvs.cpp
+ This is the main application source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named picotlsvs.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/cert.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/cert.pem
new file mode 100644
index 0000000..a7fbf0a
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/cert.pem
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhgCCQDKfyE0Al0a3TANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJV
+UzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEQMA4GA1UE
+CgwHRXhhbXBsZTESMBAGA1UEAwwJTG9jYWxIb3N0MB4XDTE3MDYyNjA0NDUzMloX
+DTE4MDYyNjA0NDUzMlowWjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0
+b24xEDAOBgNVBAcMB1NlYXR0bGUxEDAOBgNVBAoMB0V4YW1wbGUxEjAQBgNVBAMM
+CUxvY2FsSG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALk0szcy
+JGaCu3N1l3e4oippgWn8COAckw1DDUvp9ml8bZnaZ841nbCA38O6Blnu1gxgS/F8
+FSIu29z4bJPQgStYOTxbxGym/jHMzbS9xzI5Byv3+G7tu/1QEoHcm9DyzSiIvWqM
+ytkloPdEgl+qUinWjvWGht9QzPSk6vNSM1Vqd2Gz7ZJIxNp6muzaSd5mQBSeO1AO
+uIhyIhIWMPpeR3BrtI2PCj5svrQ5OVlyKc6yoXYKDUFxIEKhOwjCU027ACdJRDcD
+WW+GzqR4EamWztQ016YcrlAa0PpAewDa1FQoXWy6Gl+6YF8GIhn+ZHsJN0RgdqKE
+u1bkhL7iUl4vnjcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAEZjmYK+qoXImkUw3
+mangy2sUt9UHLQENGBhLbaMny8RRxcKedpf8COwsP56ONyZazzzyUgjlphQhunEe
+HsNQWD7s04cC3wuNWXvnFW/MsABjnzrGk1m6VDc5uxqBSrFFP1UtqwMleDIlgzVw
+H2mx4R1IyhGW+BYkDBwWpHmMFR9fXjdkVSzb5THwhhq7y2xJhrkKhj/iCTGlIMke
+d207w3vqw1X6dep1CMYj/B+ar/3l5AJSr+K1jsqVIzHugGuRMtV5DsKtS/DNqXG5
+sP+2YA/ohrXv/MCzHzVZ77lCetj7jHl2muX3rLF4IVTKWMrpi18ZwobB3JieFy1h
+WZydqg==
+-----END CERTIFICATE-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_cert.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_cert.pem
new file mode 100644
index 0000000..51bf044
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_cert.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICITCCAcigAwIBAgIJAJpmLpw+2sHYMAkGByqGSM49BAEwQzELMAkGA1UEBhMC
+VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMRUwEwYDVQQKEwxQaWNv
+VExTIFRlc3QwHhcNMTcwNzI1MDQyOTAyWhcNMTgwNzI1MDQyOTAyWjBDMQswCQYD
+VQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxFTATBgNVBAoT
+DFBpY29UTFMgVGVzdDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABK3/SPaRAh80
+1BERnxzh1Fi1FZtYGPmbMPoQNpkPchxwSsJBcm+IwOh0xtK/a+xKqOFjpVo8i7SW
+ARulK3XErOmjgaUwgaIwHQYDVR0OBBYEFA3LAgzzAyPVpIG0jsz1QSYQrMUgMHMG
+A1UdIwRsMGqAFA3LAgzzAyPVpIG0jsz1QSYQrMUgoUekRTBDMQswCQYDVQQGEwJV
+UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxFTATBgNVBAoTDFBpY29U
+TFMgVGVzdIIJAJpmLpw+2sHYMAwGA1UdEwQFMAMBAf8wCQYHKoZIzj0EAQNIADBF
+AiAKr/C59Tfk+edPt6LBvNErf1x8HyD5mSmidjmMTznvQQIhALxOamTazSM0U0iL
+4IUfSjOChw4W1DWIRPDjZm97HEpY
+-----END CERTIFICATE-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_key.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_key.pem
new file mode 100644
index 0000000..29932c1
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/ec_key.pem
@@ -0,0 +1,5 @@
+-----BEGIN PRIVATE KEY-----
+MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg8rWCKftLG3r00UO8
+BKfR3+4jyiyyo9mz3UIDA+iATXyhRANCAASt/0j2kQIfNNQREZ8c4dRYtRWbWBj5
+mzD6EDaZD3IccErCQXJviMDodMbSv2vsSqjhY6VaPIu0lgEbpSt1xKzp
+-----END PRIVATE KEY-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-1.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-1.pem
new file mode 100644
index 0000000..1fb5f17
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-1.pem
@@ -0,0 +1,5 @@
+-----BEGIN PRIVATE KEY-----
+MIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQgVcB/UNPxalR9zDYAjQIf
+jojUDiQuGnSJrFEEzZPT/92hRANCAASc7UJtgnF/abqWM60T3XNJEzBv5ez9TdwK
+H0M6xpM2q+53wmsN/eYLdgtjgBd3DBmHtPilCkiFICXyaA8z9LkJ
+-----END PRIVATE KEY-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-2.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-2.pem
new file mode 100644
index 0000000..f4aeb5e
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-2.pem
@@ -0,0 +1,9 @@
+-----BEGIN PRIVATE KEY-----
+MIIBMAIBADCB0wYHKoZIzj0CATCBxwIBATAkBgcqhkjOPQEBAhkA////////////
+/////////v//////////MEsEGP////////////////////7//////////AQYIhI9
+wjlaBcqnQj2uzMlHYKfUYiVr1WkWAxUAxGloRDXes3jEtlypWR4qV2MFmi4EMQR9
+KXeBAMZaHaF4NxZYjc4ri0rujiKPGJY4qQ8iY3M3M0tJ3LZqbcj5l4rKdkipQ7AC
+GQD///////////////96YtAxyD9ClPZA7BMCAQEEVTBTAgEBBBiKtwssqrxHY/gu
+KDD4QgmyLDKaqBv2wEWhNAMyAAT5j6o+ojeB6jaFAfx4rtGf5hYbT1N6NnlAWiP1
++bEWtTJiEVqnpeZN0m0SLybIGZY=
+-----END PRIVATE KEY----- \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-3.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-3.pem
new file mode 100644
index 0000000..08c9496
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-3.pem
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHQCAQEEILNvumjK/H0ioec3gNnn07vM/yDUfwAlInWQYtTY+NpsoAcGBSuBBAAK
+oUQDQgAEVw4JNyAuRNukW7+FFRLZW2Y8dNTAZ3SJp5AB+P+becKkbwtLLlO+PENe
+7ZC02lGb4Sak2Wc2jBdsheCzfJOloQ==
+-----END EC PRIVATE KEY-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-4.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-4.pem
new file mode 100644
index 0000000..4018db1
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key-test-4.pem
@@ -0,0 +1,5 @@
+-----BEGIN PRIVATE KEY-----
+MIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQgocwnJPlQe7sRiRc0obuy
+ddukwdOK73PgNnqZUIFm64WhRANCAAQ1FDasoi8+SmGUBtKW5brq9+gCiE/Ymz53
+BPUYN8AeHABM64AqWwX0oFCM027E4qRjGGjd7O+T+M/tXTJJR5p4
+-----END PRIVATE KEY-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key.pem
new file mode 100644
index 0000000..8f86e71
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/key.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC5NLM3MiRmgrtz
+dZd3uKIqaYFp/AjgHJMNQw1L6fZpfG2Z2mfONZ2wgN/DugZZ7tYMYEvxfBUiLtvc
++GyT0IErWDk8W8Rspv4xzM20vccyOQcr9/hu7bv9UBKB3JvQ8s0oiL1qjMrZJaD3
+RIJfqlIp1o71hobfUMz0pOrzUjNVandhs+2SSMTaeprs2kneZkAUnjtQDriIciIS
+FjD6Xkdwa7SNjwo+bL60OTlZcinOsqF2Cg1BcSBCoTsIwlNNuwAnSUQ3A1lvhs6k
+eBGpls7UNNemHK5QGtD6QHsA2tRUKF1suhpfumBfBiIZ/mR7CTdEYHaihLtW5IS+
+4lJeL543AgMBAAECggEARINOWPjfplxuY8P4iH1w4CevjDmEPwPTEnDfllmyoks5
+cFTvWcVT1FuYa5uBhftoi6OD9I1mdALJqvDrmbLkVdiJM97uxxLvrhSJdHdQHTAj
+iwxshvzDMm5QqmGl8qIfawNKrwPudm4JIe/iGumzA28v63wcoLgPWeE4WVLrUoky
+WUc4eOhdqgB1I1Ma/pOZGIMMF8kdmvqau7XSrc7u51wAQgf8Y+MF6E2WWwKLfd75
+oWlmyJtzY0zVQ+brHmRPMiwvWwtoahLS1rVvkLf62bWlUcVT4IEDNhd0Igftee7n
+0G+GEpaVjL+FGdnzJ9EVsTH7CQ7fPS0E1fvm0BK7IQKBgQDvId7NHGUgkw2Ekdu0
+CXrSo52ZEDEFt0yyv1RYCWk+IWF3IOj2QIGQ5cR9fQPI0sKXU4poMgIbEv2NRnVY
+JIQ11Z8tXQe9+Hk56MvhjQhni6WwmuoNTw6yGlWFMWZgkKauSNaQW0v+CdCDlG2o
+I1Iuv4nT1sq9orT2uxQVr6PNqwKBgQDGRQ2p+9CQyFqjg8A39niLrqAH4nd4O5/H
+Mc5orbLNAxEWH09MFZPl11+WTksVlhPcrvKczYUcQsVAW1MIB46VtRjyJ8wC+RE+
++ayLR26PpPgUgfuz/dPytDdi2e3Y5vtZ6ZDwVfwBEUfYoC9TcunJWaIXIJpvyUJp
+3sxJJF8tpQKBgQDUUiFtwnFz271b4NnO37/i+Iz8k2jDZ329E65CwJBmLuNID7to
+sduYmLm+pdpPW/qUvAMfAo/mFBV2c4HK8hlFZ1f+wiQWo2CXb0BfEobM0SwbQ2De
+0jv9HO6j5Tm+MZEdG+UOpVEyzOoLeiVm7X2RrlUk9whqGeZNT8vEeX+aIwKBgQCc
+ueckME7cs9OaH8JpOmZtnBsaQHVJ0G/ryL4t1uhY0IzIHPXU4dWoQMhpivglVx3a
+O1zCgF8xSMKdrdMDrN2UD7RpbvYAf5uXWUuASXXnDHOh2mH6FLJezwBdHoG6DFQx
+7cRJht6OhXdykKT4ZQTSygysFXSe2sup3plDVAH8lQKBgECy9w2481N3RoET7Z0x
+1RHQSLNduFBOekdBMmJzbQJm1r5G+j9iUrwESboi5ZwodpMT3DS+rXye6GmJhOKi
+e+M3uATC+lsHnU3AInf/t3N8NvYS9AOIkWV/p/+IjzMPTyEJH2nUBUZA8f32bcnL
+3qG4F2xvUiz0/vVrbQyJm/LQ
+-----END PRIVATE KEY-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/myec1.pem b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/myec1.pem
new file mode 100644
index 0000000..8a19bb0
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/myec1.pem
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHQCAQEEIKHMJyT5UHu7EYkXNKG7snXbpMHTiu9z4DZ6mVCBZuuFoAcGBSuBBAAK
+oUQDQgAENRQ2rKIvPkphlAbSluW66vfoAohP2Js+dwT1GDfAHhwATOuAKlsF9KBQ
+jNNuxOKkYxho3ezvk/jP7V0ySUeaeA==
+-----END EC PRIVATE KEY-----
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/openssl.cnf b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/openssl.cnf
new file mode 100644
index 0000000..c96e843
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/openssl.cnf
@@ -0,0 +1,35 @@
+[ req ]
+default_bits = 1024
+default_keyfile= privkey.pem
+distinguished_name = req_distinguished_name
+
+
+[ req_distinguished_name ]
+countryName= US
+countryName_min= 2
+countryName_max = 2
+stateOrProvinceName= Washington
+localityName = Seattle
+organizationName = Example
+commonName = Localhost
+commonName_max = 64
+emailAddress = localhost@example.com
+emailAddress_max = 40
+
+
+[ alternate_names ]
+
+DNS.1 = example.com
+DNS.2 = www.example.com
+DNS.3 = mail.example.com
+DNS.4 = ftp.example.com
+
+# Add these if you need them. But usually you don't want them or
+# need them in production. You may need them for development.
+# DNS.5 = localhost
+# DNS.6 = localhost.localdomain
+# DNS.7 = 127.0.0.1
+
+# IPv6 localhost
+# DNS.8 = ::1
+
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.c b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.c
new file mode 100644
index 0000000..251b290
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.c
@@ -0,0 +1,674 @@
+/* picotlsvs: test program for the TLS 1.3 library. */
+#include <stdio.h>
+#include <stdarg.h>
+#include <openssl/pem.h>
+#include "../picotls/wincompat.h"
+#include "../../include/picotls.h"
+#include "../../include/picotls/openssl.h"
+#include "../../include/picotls/minicrypto.h"
+#include "../../include/picotls/asn1.h"
+#include "../../include/picotls/pembase64.h"
+
+void log_printf(void * ctx, const char * format, ...)
+{
+ va_list argptr;
+ va_start(argptr, format);
+ vfprintf(stderr, format, argptr);
+}
+
+ptls_minicrypto_log_ctx_t log_ctx = { NULL, log_printf };
+
+int ptls_export_secret(ptls_t *tls, void *output, size_t outlen, const char *label, ptls_iovec_t context_value, int is_early);
+
+/*
+ * Testing the Base64 and ASN1 verifiers.
+ * Start by loading the private key object, then do a mini fuzz test.
+ * The goal is to verify that the decoding returns something correct,
+ * even in presence of errors.
+ */
+
+size_t ptls_minicrypto_asn1_decode_private_key(
+ ptls_asn1_pkcs8_private_key_t * pkey,
+ int * decode_error, ptls_minicrypto_log_ctx_t * log_ctx);
+
+int openPemTest(char const * filename)
+{
+ ptls_iovec_t buf = { 0 };
+ size_t count = 1;
+ size_t fuzz_index = 0;
+ uint8_t original_byte = 0;
+ uint8_t fuzz_byte = 0xAA;
+ size_t byte_index = 0;
+ int decode_error;
+
+ int ret = ptls_load_pem_objects(filename, "PRIVATE KEY", &buf, 1, &count);
+
+
+ if (ret == 0)
+ {
+ for (fuzz_index = 0; ret == 0 && fuzz_index < buf.len; fuzz_index++)
+ {
+ ptls_asn1_pkcs8_private_key_t pkey = { {0} };
+ original_byte = buf.base[fuzz_index];
+ decode_error = 0;
+ buf.base[fuzz_index] ^= fuzz_byte;
+
+ pkey.vec.base = buf.base;
+ pkey.vec.len = buf.len;
+
+ byte_index = ptls_minicrypto_asn1_decode_private_key(
+ &pkey, &decode_error, NULL);
+
+ if (decode_error != 0)
+ {
+ if (decode_error == 1)
+ {
+ ret = -1;
+ }
+ }
+
+ buf.base[fuzz_index] = original_byte;
+ }
+ }
+
+ if (buf.base != NULL)
+ {
+ free(buf.base);
+ }
+
+ return ret;
+}
+
+/*
+ * Using the open ssl library to load the test certificate
+ */
+
+X509* openPemFile(char* filename)
+{
+
+ X509* cert = X509_new();
+ BIO* bio_cert = BIO_new_file(filename, "rb");
+ PEM_read_bio_X509(bio_cert, &cert, NULL, NULL);
+ return cert;
+}
+
+int get_certificates(char * pem_fname, ptls_iovec_t ** list, int * nb_certs)
+{
+ int ret = 0;
+ size_t count = 0;
+ X509 *cert;
+ static ptls_iovec_t certs[16];
+
+ *nb_certs = 0;
+ *list = NULL;
+
+ cert = openPemFile(pem_fname);
+
+ if (cert == NULL)
+ {
+ fprintf(stderr, "Could not read cert in %s\n", pem_fname);
+ ret = -1;
+ }
+ else
+ {
+ ptls_iovec_t *dst = certs + count++;
+ dst->len = i2d_X509(cert, &dst->base);
+ }
+
+ *nb_certs = (int) count;
+ *list = certs;
+
+ return ret;
+}
+
+void SetSignCertificate(char * keypem, ptls_context_t * ctx)
+{
+ static ptls_openssl_sign_certificate_t signer;
+
+ EVP_PKEY *pkey = EVP_PKEY_new();
+ BIO* bio_key = BIO_new_file(keypem, "rb");
+ PEM_read_bio_PrivateKey(bio_key, &pkey, NULL, NULL);
+ ptls_openssl_init_sign_certificate(&signer, pkey);
+ EVP_PKEY_free(pkey);
+ ctx->sign_certificate = &signer.super;
+}
+
+int handshake_init(ptls_t * tls, ptls_buffer_t * sendbuf, ptls_handshake_properties_t * ph_prop)
+{
+ size_t inlen = 0, roff = 0;
+
+ ptls_buffer_init(sendbuf, "", 0);
+ int ret = ptls_handshake(tls, sendbuf, NULL, NULL, ph_prop);
+
+ return ret;
+}
+
+
+int handshake_progress(ptls_t * tls, ptls_buffer_t * sendbuf, ptls_buffer_t * recvbuf, ptls_handshake_properties_t * ph_prop)
+{
+ size_t inlen = 0, roff = 0;
+ int ret = 0;
+
+ ptls_buffer_init(sendbuf, "", 0);
+
+ /* Provide the data */
+ while (roff < recvbuf->off && (ret == 0 || ret == PTLS_ERROR_IN_PROGRESS))
+ {
+ inlen = recvbuf->off - roff;
+ ret = ptls_handshake(tls, sendbuf, recvbuf->base + roff, &inlen, ph_prop);
+ roff += inlen;
+ }
+
+ if (roff < recvbuf->off)
+ {
+ // Could not consume all the data. This is bad.
+ fprintf(stderr, "Could only process %d bytes out of %d\n", (int) roff, (int) recvbuf->off);
+ }
+ ptls_buffer_dispose(recvbuf);
+
+ return ret;
+}
+
+/*
+ Verify the secret extraction functionality
+ at the end of the handshake.
+ */
+
+int extract_1rtt_secret(
+ ptls_t *tls, const char *label,
+ ptls_cipher_suite_t ** cipher,
+ uint8_t * secret, size_t secret_max)
+{
+ int ret = 0;
+ *cipher = ptls_get_cipher(tls);
+
+ if (*cipher == NULL)
+ {
+ ret = -1;
+ }
+ else if ((*cipher)->hash->digest_size > secret_max)
+ {
+ ret = -1;
+ }
+ else
+ {
+ ret = ptls_export_secret(tls, secret, (*cipher)->hash->digest_size,
+ label, ptls_iovec_init(NULL, 0), 1);
+ }
+
+ return 0;
+}
+
+int verify_1rtt_secret_extraction(ptls_t *tls_client, ptls_t *tls_server)
+{
+ int ret = 0;
+ ptls_cipher_suite_t * cipher_client;
+ ptls_cipher_suite_t * cipher_server;
+ uint8_t secret_client[64];
+ uint8_t secret_server[64];
+ char const * label = "This is just a test";
+
+ ret = extract_1rtt_secret(tls_client, label, &cipher_client,
+ secret_client, sizeof(secret_client));
+
+ if (ret != 0)
+ {
+ fprintf(stderr, "Cannot extract client 1RTT secret, ret=%d\n", ret);
+ }
+ else
+ {
+ ret = extract_1rtt_secret(tls_server, label, &cipher_server,
+ secret_server, sizeof(secret_server));
+ if (ret != 0)
+ {
+ fprintf(stderr, "Cannot extract client 1RTT secret, ret=%d\n", ret);
+ }
+ }
+
+ if (ret == 0)
+ {
+ if (strcmp(cipher_client->aead->name, cipher_server->aead->name) != 0)
+ {
+ fprintf(stderr, "AEAD differ, client:%s, server:%s\n",
+ cipher_client->aead->name, cipher_server->aead->name);
+ ret = -1;
+ }
+ else if (cipher_client->hash->digest_size != cipher_server->hash->digest_size)
+ {
+ fprintf(stderr, "Key length differ, client:%d, server:%d\n",
+ (int) cipher_client->hash->digest_size, (int) cipher_server->hash->digest_size);
+ ret = -1;
+ }
+ else if (memcmp(secret_client, secret_server, cipher_client->hash->digest_size) != 0)
+ {
+ fprintf(stderr, "Key of client and server differ!\n");
+ ret = -1;
+ }
+ }
+
+ return ret;
+}
+
+int openssl_init_test_client(ptls_context_t *ctx_client)
+{
+ int ret = 0;
+ static ptls_openssl_verify_certificate_t verifier;
+
+ /* Initialize the client context */
+ memset(ctx_client, 0, sizeof(ptls_context_t));
+ ctx_client->random_bytes = ptls_openssl_random_bytes;
+ ctx_client->get_time = &ptls_get_time;
+ ctx_client->key_exchanges = ptls_openssl_key_exchanges;
+ ctx_client->cipher_suites = ptls_openssl_cipher_suites;
+ ptls_openssl_init_verify_certificate(&verifier, NULL);
+ ctx_client->verify_certificate = &verifier.super;
+
+ return ret;
+}
+
+int openssl_init_test_server(ptls_context_t *ctx_server, char * key_file, char * cert_file)
+{
+ int ret = 0;
+ /* Initialize the server context */
+ memset(ctx_server, 0, sizeof(ptls_context_t));
+ ctx_server->random_bytes = ptls_openssl_random_bytes;
+ ctx_server->get_time = &ptls_get_time;
+ ctx_server->key_exchanges = ptls_openssl_key_exchanges;
+ ctx_server->cipher_suites = ptls_openssl_cipher_suites;
+
+ ret = ptls_load_certificates(ctx_server, cert_file);
+ if (ret != 0)
+ {
+ fprintf(stderr, "Could not read the server certificates\n");
+ }
+ else
+ {
+ SetSignCertificate(key_file, ctx_server);
+ }
+
+ return ret;
+}
+
+int minicrypto_init_test_client(ptls_context_t *ctx_client)
+{
+ int ret = 0;
+ // static ptls_openssl_verify_certificate_t verifier;
+
+ /* Initialize the client context */
+ memset(ctx_client, 0, sizeof(ptls_context_t));
+ ctx_client->random_bytes = ptls_minicrypto_random_bytes;
+ ctx_client->get_time = &ptls_get_time;
+ ctx_client->key_exchanges = ptls_minicrypto_key_exchanges;
+ ctx_client->cipher_suites = ptls_minicrypto_cipher_suites;
+ // ptls_openssl_init_verify_certificate(&verifier, NULL);
+ ctx_client->verify_certificate = NULL; // &verifier.super;
+
+ return ret;
+}
+
+int minicrypto_init_test_server(ptls_context_t *ctx_server, char * key_file, char * cert_file)
+{
+ int ret = 0;
+
+ /* Initialize the server context */
+ memset(ctx_server, 0, sizeof(ptls_context_t));
+ ctx_server->random_bytes = ptls_minicrypto_random_bytes;
+ ctx_server->get_time = &ptls_get_time;
+ ctx_server->key_exchanges = ptls_minicrypto_key_exchanges;
+ ctx_server->cipher_suites = ptls_minicrypto_cipher_suites;
+
+ ret = ptls_load_certificates(ctx_server, cert_file);
+
+ if (ret != 0)
+ {
+ fprintf(stderr, "Could not read the server certificates\n");
+ }
+ else
+ {
+ ret = ptls_minicrypto_load_private_key(ctx_server, key_file);
+ }
+
+ return ret;
+}
+
+#define PICOTLS_VS_TEST_EXTENSION 1234
+static uint8_t testExtensionClient[] = { 1, 2, 3 };
+static uint8_t testExtensionServer[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
+char const test_sni[] = "picotls.example.com";
+char const test_alpn[] = "picotls";
+static const ptls_iovec_t proposed_alpn[] = {
+ { (uint8_t *) "grease", 6},
+ { (uint8_t *)test_alpn, sizeof(test_alpn) -1 }
+};
+
+
+struct st_picotls_vs_test_context_t
+{
+ int client_mode;
+ size_t received_extension_length;
+ uint8_t received_extension[16];
+ ptls_raw_extension_t ext[2];
+
+ ptls_handshake_properties_t handshake_properties;
+
+};
+
+int collect_test_extension(ptls_t *tls, struct st_ptls_handshake_properties_t *properties, uint16_t type)
+{
+ return type == PICOTLS_VS_TEST_EXTENSION;
+}
+
+void set_test_extensions(ptls_raw_extension_t ext[2], uint8_t * data, size_t len)
+{
+ ext[0].type = PICOTLS_VS_TEST_EXTENSION;
+ ext[0].data.base = data;
+ ext[0].data.len = len;
+ ext[1].type = 0xFFFF;
+ ext[1].data.base = NULL;
+ ext[1].data.len = 0;
+}
+
+int collected_test_extensions(ptls_t *tls, ptls_handshake_properties_t *properties,
+ ptls_raw_extension_t *slots)
+{
+ struct st_picotls_vs_test_context_t * ctx = (struct st_picotls_vs_test_context_t *)
+ ((char *)properties - offsetof(struct st_picotls_vs_test_context_t, handshake_properties));
+
+ if (slots[0].type == PICOTLS_VS_TEST_EXTENSION && slots[1].type == 0xFFFF)
+ {
+ ctx->received_extension_length = slots[0].data.len;
+ memcpy(ctx->received_extension, slots[0].data.base,
+ (slots[0].data.len < sizeof(ctx->received_extension)) ?
+ slots[0].data.len : sizeof(ctx->received_extension));
+
+ if (ctx->client_mode == 0)
+ {
+ properties->additional_extensions = ctx->ext;
+ set_test_extensions(ctx->ext, testExtensionServer, sizeof(testExtensionServer));
+ }
+ }
+
+ return 0;
+}
+
+int client_hello_call_back(ptls_on_client_hello_t * on_hello_cb_ctx,
+ ptls_t *tls, ptls_iovec_t server_name, const ptls_iovec_t *negotiated_protocols,
+ size_t num_negotiated_protocols, const uint16_t *signature_algorithms, size_t num_signature_algorithms)
+{
+ for (size_t i = 0; i < num_negotiated_protocols; i++)
+ {
+ if (negotiated_protocols[i].len == sizeof(test_alpn) - 1 &&
+ memcmp(negotiated_protocols[i].base, test_alpn, sizeof(test_alpn) - 1) == 0)
+ {
+ ptls_set_negotiated_protocol(tls, test_alpn, sizeof(test_alpn) - 1);
+ break;
+ }
+ }
+ return 0;
+}
+
+void set_handshake_context(struct st_picotls_vs_test_context_t * ctx, int client_mode)
+{
+ memset(ctx, 0, sizeof(struct st_picotls_vs_test_context_t));
+
+ if ((ctx->client_mode = client_mode) != 0)
+ {
+ ctx->handshake_properties.client.negotiated_protocols.list = proposed_alpn;
+ ctx->handshake_properties.client.negotiated_protocols.count =
+ sizeof(proposed_alpn) / sizeof(ptls_iovec_t);
+
+ ctx->handshake_properties.additional_extensions = ctx->ext;
+ set_test_extensions(ctx->ext, testExtensionClient, sizeof(testExtensionClient));
+ }
+
+ ctx->handshake_properties.collect_extension = collect_test_extension;
+ ctx->handshake_properties.collected_extensions = collected_test_extensions;
+}
+
+int verify_handshake_extension(struct st_picotls_vs_test_context_t * app_ctx_client,
+ struct st_picotls_vs_test_context_t *app_ctx_server)
+{
+ int ret = 0;
+
+ if (app_ctx_server->received_extension_length == 0)
+ {
+ fprintf(stderr, "Server did not receive the client extension.\n");
+ ret = -1;
+ }
+ else if (app_ctx_server->received_extension_length != sizeof(testExtensionClient) ||
+ memcmp(app_ctx_server->received_extension, testExtensionClient, sizeof(testExtensionClient)))
+ {
+ fprintf(stderr, "Server did not correctly receive the client extension.\n");
+ ret = -1;
+ }
+ else if (app_ctx_client->received_extension_length == 0)
+ {
+ fprintf(stderr, "Client did not receive the server extension.\n");
+ ret = -1;
+ }
+ else if (app_ctx_client->received_extension_length != sizeof(testExtensionServer) ||
+ memcmp(app_ctx_client->received_extension, testExtensionServer, sizeof(testExtensionServer)))
+ {
+ fprintf(stderr, "Client did not correctly receive the server extension.\n");
+ ret = -1;
+ }
+
+ return ret;
+}
+
+int ptls_memory_loopback_test(int openssl_client, int openssl_server, char * key_file, char * cert_file)
+{
+ ptls_context_t ctx_client, ctx_server;
+ ptls_t *tls_client = NULL, *tls_server = NULL;
+ int ret = 0;
+ ptls_buffer_t client_buf, server_buf;
+ struct st_picotls_vs_test_context_t app_ctx_client, app_ctx_server;
+ ptls_on_client_hello_t client_hello_cb;
+
+
+ /* init the contexts */
+ if (ret == 0 && openssl_client)
+ {
+ ret = openssl_init_test_client(&ctx_client);
+ }
+ else
+ {
+ ret = minicrypto_init_test_client(&ctx_client);
+ }
+
+ if (ret == 0 && openssl_server)
+ {
+ ret = openssl_init_test_server(&ctx_server, key_file, cert_file);
+ }
+ else
+ {
+ ret = minicrypto_init_test_server(&ctx_server, key_file, cert_file);
+ }
+
+ /* Create the connections */
+ if (ret == 0)
+ {
+ tls_client = ptls_new(&ctx_client, 0);
+ tls_server = ptls_new(&ctx_server, 1);
+
+ if (tls_server == NULL || tls_client == NULL)
+ {
+ fprintf(stderr, "Could not create the TLS connection objects\n");
+ ret = -1;
+ }
+ }
+
+ /* Perform the handshake */
+ if (ret == 0)
+ {
+ int nb_rounds = 0;
+
+ set_handshake_context(&app_ctx_client, 1);
+ set_handshake_context(&app_ctx_server, 0);
+
+ client_hello_cb.cb = client_hello_call_back;
+ ctx_server.on_client_hello = &client_hello_cb;
+
+ ptls_set_server_name(tls_client, test_sni, sizeof(test_sni) - 1);
+
+ ret = handshake_init(tls_client, &client_buf,
+ &app_ctx_client.handshake_properties);
+ printf("First message from client, ret = %d, %d bytes.\n", ret, (int) client_buf.off);
+
+ while ((ret == 0 || ret == PTLS_ERROR_IN_PROGRESS) && client_buf.off > 0 && nb_rounds < 12)
+ {
+ nb_rounds++;
+
+ ret = handshake_progress(tls_server, &server_buf, &client_buf,
+ &app_ctx_server.handshake_properties);
+ app_ctx_server.handshake_properties.additional_extensions = NULL;
+
+ printf("Message from server, ret = %d, %d bytes.\n", ret, (int) server_buf.off);
+
+ if ((ret == 0 || ret == PTLS_ERROR_IN_PROGRESS) && server_buf.off > 0)
+ {
+ app_ctx_client.handshake_properties.additional_extensions = NULL;
+
+ ret = handshake_progress(tls_client, &client_buf, &server_buf,
+ &app_ctx_client.handshake_properties);
+
+ printf("Message from client, ret = %d, %d bytes.\n", ret, (int) client_buf.off);
+ }
+ }
+
+ printf("Exit handshake after %d rounds, ret = %d.\n", nb_rounds, ret);
+
+ if (ret == 0)
+ {
+ ret = verify_1rtt_secret_extraction(tls_client, tls_server);
+
+ if (ret == 0)
+ {
+ printf("Key extracted and matches!\n");
+ }
+ }
+
+ if (ret == 0)
+ {
+ ret = verify_handshake_extension(&app_ctx_client, &app_ctx_server);
+
+ if (ret == 0)
+ {
+ printf("Extensions received and match!\n");
+ }
+ }
+
+ if (ret == 0)
+ {
+ const char * sni_received = ptls_get_server_name(tls_server);
+
+ if (sni_received == NULL)
+ {
+ fprintf(stderr, "Server did not receive the SNI set by the client\n");
+ ret = -1;
+ }
+ else if (strcmp(sni_received, test_sni) != 0)
+ {
+ fprintf(stderr, "Server receives SNI: <%s>, does not match <%s>\n",
+ sni_received, test_sni);
+ ret = -1;
+ }
+ }
+
+ if (ret == 0)
+ {
+ const char * alpn_received = ptls_get_negotiated_protocol(tls_server);
+
+ if (alpn_received == NULL)
+ {
+ fprintf(stderr, "Server did not negotiate ALPN\n");
+ ret = -1;
+ }
+ else if (strcmp(alpn_received, test_alpn) != 0)
+ {
+ fprintf(stderr, "Server receives ALPN: <%s>, does not match <%s>\n",
+ alpn_received, test_alpn);
+ ret = -1;
+ }
+ }
+
+ if (ret == 0)
+ {
+ printf("SNI and ALPN match.\n");
+ }
+ }
+
+ if (tls_client != NULL)
+ {
+ ptls_free(tls_client);
+ }
+
+ if (tls_server != NULL)
+ {
+ ptls_free(tls_server);
+ }
+
+ if (openssl_server == 0 && ctx_server.sign_certificate != NULL)
+ {
+ free(ctx_server.sign_certificate);
+ }
+
+ return ret;
+}
+
+static char const * test_keys[] = {
+ "key.pem",
+ "ec_key.pem",
+ "key-test-1.pem",
+ "key-test-2.pem",
+ "key-test-4.pem"
+};
+
+static const size_t nb_test_keys = sizeof(test_keys) / sizeof(char const *);
+
+int main()
+{
+ int ret = 0;
+
+#if 1
+ /* TODO: move to ASN.1 unit test*/
+
+ for (size_t i = 0; ret == 0 && i < nb_test_keys; i++)
+ {
+ ret = openPemTest(test_keys[i]);
+ }
+#endif
+
+ if (ret == 0)
+ {
+ printf("\nStarting the RSA test with OpenSSL\n");
+ ret = ptls_memory_loopback_test(1, 1, "key.pem", "cert.pem");
+ }
+
+ if (ret == 0)
+ {
+ printf("\nStarting the P256R1 test with OpenSSL\n");
+ ret = ptls_memory_loopback_test(1, 1, "ec_key.pem", "ec_cert.pem");
+ }
+
+ if (ret == 0)
+ {
+ printf("\nStarting the P256R1 test with OpenSSL server and Minicrypto client\n");
+ ret = ptls_memory_loopback_test(0, 1, "ec_key.pem", "ec_cert.pem");
+ }
+
+ if (ret == 0)
+ {
+ printf("\nStarting the P256R1 test with Minicrypto\n");
+ ret = ptls_memory_loopback_test(0, 0, "ec_key.pem", "ec_cert.pem");
+ }
+
+ if (ret == 0)
+ {
+ printf("\nStarting the P256R1 test with Minicrypto server and OpenSSL client\n");
+ ret = ptls_memory_loopback_test(1, 0, "ec_key.pem", "ec_cert.pem");
+ }
+
+ return ret;
+}
+
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj
new file mode 100644
index 0000000..792cf30
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <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>15.0</VCProjectVersion>
+ <ProjectGuid>{D0265367-FCCF-47A4-95FD-C33BECAB3486}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>picotlsvs</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.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>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</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 Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(OPENSSLDIR)\include;$(ProjectDir)..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <AdditionalLibraryDirectories>$(OPENSSLDIR);$(OutDir)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;libcrypto.lib;libssl.lib;microecc.lib;cifra.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\..\include;$(OPENSSL64DIR)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <AdditionalLibraryDirectories>$(OPENSSL64DIR);$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;cifra.lib;microecc.lib;libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(OPENSSLDIR)\include;$(ProjectDir)..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(OPENSSLDIR);$(OutDir)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;cifra.lib;microecc.lib;libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\..\include;$(OPENSSL64DIR)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(OPENSSL64DIR);$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;cifra.lib;microecc.lib;libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="picotlsvs.c" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.filters b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.filters
new file mode 100644
index 0000000..a52d6d4
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.filters
@@ -0,0 +1,30 @@
+<?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;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;hm;inl;inc;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>
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="picotlsvs.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.user b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.user
new file mode 100644
index 0000000..be25078
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/picotlsvs.vcxproj.user
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup />
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/targetver.h b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/picotlsvs/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj b/debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj
new file mode 100644
index 0000000..f5bf9ba
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <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>15.0</VCProjectVersion>
+ <ProjectGuid>{8750EE3B-9440-48BF-8D83-7274E94B06A7}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>testopenssl</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.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>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</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 Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)\..\..\deps\cifra\src;$(ProjectDir)\..\..\deps\cifra\src\ext;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSLDIR)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <AdditionalLibraryDirectories>$(OPENSSLDIR);$(OutDir)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;cifra.lib;microecc.lib;libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)\..\..\deps\cifra\src;$(ProjectDir)\..\..\deps\cifra\src\ext;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSL64DIR)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <AdditionalLibraryDirectories>$(OPENSSL64DIR);$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;cifra.lib;microecc.lib;libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)\..\..\deps\cifra\src;$(ProjectDir)\..\..\deps\cifra\src\ext;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSLDIR)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(OPENSSLDIR);$(OutDir)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;cifra.lib;microecc.lib;libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)..\picotls;$(ProjectDir)..\..\include;$(ProjectDir)\..\..\deps\cifra\src;$(ProjectDir)\..\..\deps\cifra\src\ext;$(ProjectDir)\..\..\deps\micro-ecc;$(OPENSSL64DIR)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(OPENSSL64DIR);$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>picotls.lib;cifra.lib;microecc.lib;libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\deps\picotest\picotest.c" />
+ <ClCompile Include="..\..\t\openssl.c" />
+ <ClCompile Include="..\..\t\picotls.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\deps\cifra\src\testnorx.katdata.inc" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\deps\cifra\src\testsha.h" />
+ <ClInclude Include="..\..\deps\cifra\src\testutil.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj.filters b/debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj.filters
new file mode 100644
index 0000000..b6ccd2f
--- /dev/null
+++ b/debian/vendor-h2o/deps/picotls/picotlsvs/testopenssl/testopenssl.vcxproj.filters
@@ -0,0 +1,41 @@
+<?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;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;hm;inl;inc;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>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\deps\picotest\picotest.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\t\picotls.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\t\openssl.c">
+ <Filter>Header Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\deps\cifra\src\testnorx.katdata.inc">
+ <Filter>Header Files</Filter>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\deps\cifra\src\testsha.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\deps\cifra\src\testutil.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file