thanks,

I'll recheck and will send v2 soon

вт, 21 сент. 2021 г. в 16:49, Lev Stipakov <lstipa...@gmail.com>:

> Hi,
>
> Sorry for the delay.
>
> I got "command line error D8016: '/ZI' and '/guard:cf' command-line
> options are incompatible" errors for Debug configuration,
> Release works fine. Looks like "Debug Information Format: Program
> Database for Edit and Continue" is not compatible with Control Flow
> Guard:
>
>
> https://docs.microsoft.com/en-us/cpp/build/reference/guard-enable-control-flow-guard?view=msvc-160
>
> Let's apply those changes to Release configurations only.
>
> ke 15. syysk. 2021 klo 15.27 Ilya Shipitsin (chipits...@gmail.com)
> kirjoitti:
> >
> > found by BinSkim
> >
> > Signed-off-by: Ilya Shipitsin <chipits...@gmail.com>
> > ---
> >  src/compat/Debug.props                |  1 +
> >  src/compat/Release.props              |  1 +
> >  src/compat/compat.vcxproj             |  6 ++++++
> >  src/openvpn/openvpn.vcxproj           | 12 ++++++++++++
> >  src/openvpnmsica/openvpnmsica.props   |  1 +
> >  src/openvpnmsica/openvpnmsica.vcxproj |  6 ++++++
> >  src/openvpnserv/openvpnserv.vcxproj   |  6 ++++++
> >  src/tapctl/tapctl.vcxproj             |  6 ++++++
> >  8 files changed, 39 insertions(+)
> >
> > diff --git a/src/compat/Debug.props b/src/compat/Debug.props
> > index 31bb9d91..810609bf 100644
> > --- a/src/compat/Debug.props
> > +++ b/src/compat/Debug.props
> > @@ -15,6 +15,7 @@
> >
> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> >        <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
> >        <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >    </ItemDefinitionGroup>
> >    <ItemGroup />
> > diff --git a/src/compat/Release.props b/src/compat/Release.props
> > index 63828b79..50eaa8de 100644
> > --- a/src/compat/Release.props
> > +++ b/src/compat/Release.props
> > @@ -15,6 +15,7 @@
> >        <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
> >        <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
> >
> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <Link>
> >        <EnableCOMDATFolding>true</EnableCOMDATFolding>
> > diff --git a/src/compat/compat.vcxproj b/src/compat/compat.vcxproj
> > index 49824783..fe03a51a 100644
> > --- a/src/compat/compat.vcxproj
> > +++ b/src/compat/compat.vcxproj
> > @@ -38,33 +38,39 @@
> >      <CharacterSet>MultiByte</CharacterSet>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|x64'"
> Label="Configuration">
> >      <ConfigurationType>StaticLibrary</ConfigurationType>
> >      <CharacterSet>MultiByte</CharacterSet>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>StaticLibrary</ConfigurationType>
> >      <CharacterSet>MultiByte</CharacterSet>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
> Label="Configuration">
> >      <ConfigurationType>StaticLibrary</ConfigurationType>
> >      <CharacterSet>MultiByte</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"
> Label="Configuration">
> >      <ConfigurationType>StaticLibrary</ConfigurationType>
> >      <CharacterSet>MultiByte</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>StaticLibrary</ConfigurationType>
> >      <CharacterSet>MultiByte</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
> >    <ImportGroup Label="ExtensionSettings">
> > diff --git a/src/openvpn/openvpn.vcxproj b/src/openvpn/openvpn.vcxproj
> > index 5b3e0c6c..8d27f9c6 100644
> > --- a/src/openvpn/openvpn.vcxproj
> > +++ b/src/openvpn/openvpn.vcxproj
> > @@ -38,33 +38,39 @@
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>NotSet</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|x64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>NotSet</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>NotSet</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>NotSet</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>NotSet</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>NotSet</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
> >    <ImportGroup Label="ExtensionSettings">
> > @@ -146,6 +152,7 @@
> >        <WarningLevel>Level2</WarningLevel>
> >        <TreatWarningAsError>true</TreatWarningAsError>
> >
> <AdditionalIncludeDirectories>..\compat;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <ResourceCompile />
> >      <Link>
> > @@ -161,6 +168,7 @@
> >        <WarningLevel>Level2</WarningLevel>
> >        <TreatWarningAsError>true</TreatWarningAsError>
> >
> <AdditionalIncludeDirectories>..\compat;$(SolutionDir)include;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <ResourceCompile />
> >      <Link>
> > @@ -176,6 +184,7 @@
> >        <WarningLevel>Level2</WarningLevel>
> >        <TreatWarningAsError>true</TreatWarningAsError>
> >
> <AdditionalIncludeDirectories>..\compat;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <ResourceCompile />
> >      <Link>
> > @@ -191,6 +200,7 @@
> >        <WarningLevel>Level2</WarningLevel>
> >        <TreatWarningAsError>true</TreatWarningAsError>
> >
> <AdditionalIncludeDirectories>..\compat;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <ResourceCompile />
> >      <Link>
> > @@ -206,6 +216,7 @@
> >        <WarningLevel>Level2</WarningLevel>
> >        <TreatWarningAsError>true</TreatWarningAsError>
> >
> <AdditionalIncludeDirectories>..\compat;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <ResourceCompile />
> >      <Link>
> > @@ -221,6 +232,7 @@
> >        <WarningLevel>Level2</WarningLevel>
> >        <TreatWarningAsError>true</TreatWarningAsError>
> >
> <AdditionalIncludeDirectories>..\compat;$(SolutionDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <ResourceCompile />
> >      <Link>
> > diff --git a/src/openvpnmsica/openvpnmsica.props
> b/src/openvpnmsica/openvpnmsica.props
> > index 074635d0..9e934a73 100644
> > --- a/src/openvpnmsica/openvpnmsica.props
> > +++ b/src/openvpnmsica/openvpnmsica.props
> > @@ -9,6 +9,7 @@
> >      <ClCompile>
> >
> <AdditionalIncludeDirectories>..\compat;$(TAP_WINDOWS_HOME)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
> >
> <PreprocessorDefinitions>_WIN32_WINNT=_WIN32_WINNT_VISTA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
> > +      <ControlFlowGuard>Guard</ControlFlowGuard>
> >      </ClCompile>
> >      <Link>
> >        <SubSystem>Windows</SubSystem>
> > diff --git a/src/openvpnmsica/openvpnmsica.vcxproj
> b/src/openvpnmsica/openvpnmsica.vcxproj
> > index c39b1240..11aa78bb 100644
> > --- a/src/openvpnmsica/openvpnmsica.vcxproj
> > +++ b/src/openvpnmsica/openvpnmsica.vcxproj
> > @@ -40,18 +40,21 @@
> >      <PlatformToolset>v142</PlatformToolset>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
> Label="Configuration">
> >      <ConfigurationType>DynamicLibrary</ConfigurationType>
> >      <UseDebugLibraries>true</UseDebugLibraries>
> >      <PlatformToolset>v142</PlatformToolset>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"
> Label="Configuration">
> >      <ConfigurationType>DynamicLibrary</ConfigurationType>
> >      <UseDebugLibraries>true</UseDebugLibraries>
> >      <PlatformToolset>v142</PlatformToolset>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>DynamicLibrary</ConfigurationType>
> > @@ -60,6 +63,7 @@
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"
> Label="Configuration">
> >      <ConfigurationType>DynamicLibrary</ConfigurationType>
> > @@ -67,6 +71,7 @@
> >      <PlatformToolset>v142</PlatformToolset>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|x64'"
> Label="Configuration">
> >      <ConfigurationType>DynamicLibrary</ConfigurationType>
> > @@ -74,6 +79,7 @@
> >      <PlatformToolset>v142</PlatformToolset>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
> >    <ImportGroup Label="ExtensionSettings">
> > diff --git a/src/openvpnserv/openvpnserv.vcxproj
> b/src/openvpnserv/openvpnserv.vcxproj
> > index 8009ab3d..5fd7d60b 100644
> > --- a/src/openvpnserv/openvpnserv.vcxproj
> > +++ b/src/openvpnserv/openvpnserv.vcxproj
> > @@ -38,33 +38,39 @@
> >      <CharacterSet>Unicode</CharacterSet>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|x64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <PlatformToolset>v142</PlatformToolset>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
> >    <ImportGroup Label="ExtensionSettings">
> > diff --git a/src/tapctl/tapctl.vcxproj b/src/tapctl/tapctl.vcxproj
> > index ad96f02c..79da9d33 100644
> > --- a/src/tapctl/tapctl.vcxproj
> > +++ b/src/tapctl/tapctl.vcxproj
> > @@ -40,18 +40,21 @@
> >      <PlatformToolset>v142</PlatformToolset>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <UseDebugLibraries>true</UseDebugLibraries>
> >      <PlatformToolset>v142</PlatformToolset>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> >      <UseDebugLibraries>true</UseDebugLibraries>
> >      <PlatformToolset>v142</PlatformToolset>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> > @@ -60,6 +63,7 @@
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>Unicode</CharacterSet>
> >      <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> > @@ -67,6 +71,7 @@
> >      <PlatformToolset>v142</PlatformToolset>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <PropertyGroup
> Condition="'$(Configuration)|$(Platform)'=='Release|x64'"
> Label="Configuration">
> >      <ConfigurationType>Application</ConfigurationType>
> > @@ -74,6 +79,7 @@
> >      <PlatformToolset>v142</PlatformToolset>
> >      <WholeProgramOptimization>true</WholeProgramOptimization>
> >      <CharacterSet>Unicode</CharacterSet>
> > +    <SpectreMitigation>Spectre</SpectreMitigation>
> >    </PropertyGroup>
> >    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
> >    <ImportGroup Label="ExtensionSettings">
> > --
> > 2.29.2.windows.2
> >
> >
> >
> > _______________________________________________
> > Openvpn-devel mailing list
> > Openvpn-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/openvpn-devel
>
>
>
> --
> -Lev
>
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to