From c46a2ebaff1be90707ef28656649bca025e8e395 Mon Sep 17 00:00:00 2001 From: Zachary Ware <zachary.ware@gmail.com> Date: Mon, 22 Feb 2016 04:08:30 -0600 Subject: Issue #26268: Update Windows builds to use OpenSSL 1.0.2f --- Misc/NEWS | 2 ++ PC/VS9.0/pyproject.vsprops | 2 +- PC/VS9.0/readme.txt | 9 ++++----- PCbuild/_hashlib.vcxproj | 2 +- PCbuild/_ssl.vcxproj | 2 +- PCbuild/get_externals.bat | 2 +- PCbuild/openssl.props | 5 ++--- PCbuild/python.props | 4 +++- PCbuild/readme.txt | 2 +- 9 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index d83ac5b..5fff17e 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -148,6 +148,8 @@ Build - Issue #26268: Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL 1.0.2f. +- Issue #26268: Update Windows builds to use OpenSSL 1.0.2f. + What's New in Python 2.7.11? ============================ diff --git a/PC/VS9.0/pyproject.vsprops b/PC/VS9.0/pyproject.vsprops index 5625f9d..1570615 100644 --- a/PC/VS9.0/pyproject.vsprops +++ b/PC/VS9.0/pyproject.vsprops @@ -82,7 +82,7 @@ /> <UserMacro Name="opensslDir" - Value="$(externalsDir)\openssl-1.0.2d" + Value="$(externalsDir)\openssl-1.0.2f" /> <UserMacro Name="tcltkDir" diff --git a/PC/VS9.0/readme.txt b/PC/VS9.0/readme.txt index 92d5c8a..90334bf 100644 --- a/PC/VS9.0/readme.txt +++ b/PC/VS9.0/readme.txt @@ -132,7 +132,7 @@ _ssl Get the source code through - svn export http://svn.python.org/projects/external/openssl-1.0.2d + svn export http://svn.python.org/projects/external/openssl-1.0.2f ** NOTE: if you use the PCbuild\get_externals.bat approach for obtaining external sources then you don't need to manually get the source @@ -145,11 +145,10 @@ _ssl http://www.nasm.us/ and add NASM to your PATH. - You can also install ActivePerl from + You will also need ActivePerl from http://www.activestate.com/activeperl/ - if you like to use the official sources instead of the files from - python's subversion repository. The svn version contains pre-build - makefiles and assembly files. + in order to create the necessary makefiles and .asm files for building + OpenSSL. The build process makes sure that no patented algorithms are included. For now RC5, MDC2 and IDEA are excluded from the build. You may have diff --git a/PCbuild/_hashlib.vcxproj b/PCbuild/_hashlib.vcxproj index 0f98966..5616a1e 100644 --- a/PCbuild/_hashlib.vcxproj +++ b/PCbuild/_hashlib.vcxproj @@ -61,7 +61,7 @@ </PropertyGroup> <ItemDefinitionGroup> <ClCompile> - <AdditionalIncludeDirectories>$(opensslDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(opensslIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <AdditionalDependencies>ws2_32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies)</AdditionalDependencies> diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj index fff23c7..73c9571 100644 --- a/PCbuild/_ssl.vcxproj +++ b/PCbuild/_ssl.vcxproj @@ -61,7 +61,7 @@ </PropertyGroup> <ItemDefinitionGroup> <ClCompile> - <AdditionalIncludeDirectories>$(opensslDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(opensslIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> <AdditionalDependencies>ws2_32.lib;crypt32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies)</AdditionalDependencies> diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat index ffd1a16..333ee82 100644 --- a/PCbuild/get_externals.bat +++ b/PCbuild/get_externals.bat @@ -58,7 +58,7 @@ set libraries= set libraries=%libraries% bzip2-1.0.6 if NOT "%IncludeBsddb%"=="false" set libraries=%libraries% db-4.7.25.0 if NOT "%IncludeSSL%"=="false" set libraries=%libraries% nasm-2.11.06 -if NOT "%IncludeSSL%"=="false" set libraries=%libraries% openssl-1.0.2d +if NOT "%IncludeSSL%"=="false" set libraries=%libraries% openssl-1.0.2f set libraries=%libraries% sqlite-3.6.21 if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tcl-8.5.15.0 if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tk-8.5.15.0 diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props index 54f3596..e45964e 100644 --- a/PCbuild/openssl.props +++ b/PCbuild/openssl.props @@ -15,9 +15,8 @@ <PreprocessorDefinitions Include="_CRT_SECURE_NO_WARNINGS" /> <PreprocessorDefinitions Include="_CRT_SECURE_NO_DEPRECATE" /> <PreprocessorDefinitions Include="OPENSSL_THREADS" /> - <PreprocessorDefinitions Include="OPENSSL_SYSNAME_WIN32" /> + <!-- <PreprocessorDefinitions Include="OPENSSL_SYSNAME_WIN32" /> --> <PreprocessorDefinitions Include="OPENSSL_IA32_SSE2" /> - <PreprocessorDefinitions Include="OPENSSL_CPUID_OBJ" /> <PreprocessorDefinitions Include="SHA1_ASM" /> <PreprocessorDefinitions Include="SHA256_ASM" /> <PreprocessorDefinitions Include="SHA512_ASM" /> @@ -51,7 +50,7 @@ <ClCompile> <!-- Suppress 64-bit truncation warnings - they aren't ours to worry about --> <DisableSpecificWarnings>4244;4267</DisableSpecificWarnings> - <AdditionalIncludeDirectories>$(opensslDir);$(opensslDir)include;$(opensslDir)crypto;$(opensslDir)crypto\asn1;$(opensslDir)crypto\evp;$(opensslDir)crypto\modes</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>$(opensslDir);$(opensslIncludeDir);$(opensslDir)crypto;$(opensslDir)crypto\asn1;$(opensslDir)crypto\evp;$(opensslDir)crypto\modes</AdditionalIncludeDirectories> <PreprocessorDefinitions>$(_PreprocessorDefinitionList);%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> </ItemDefinitionGroup> diff --git a/PCbuild/python.props b/PCbuild/python.props index 08ddaf1..d51e58b 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -35,7 +35,9 @@ <sqlite3Dir>$(ExternalsDir)sqlite-3.6.21\</sqlite3Dir> <bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir> <bsddbDir>$(ExternalsDir)db-4.7.25.0</bsddbDir> - <opensslDir>$(ExternalsDir)openssl-1.0.2d\</opensslDir> + <opensslDir>$(ExternalsDir)openssl-1.0.2f\</opensslDir> + <opensslIncludeDir>$(opensslDir)include32</opensslIncludeDir> + <opensslIncludeDir Condition="'$(ArchName)' == 'amd64'">$(opensslDir)include64</opensslIncludeDir> <nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir> <!-- Suffix for all binaries when building for debug --> diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index 2388535..c15c364 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -183,7 +183,7 @@ _bz2 Homepage: http://www.bzip.org/ _ssl - Python wrapper for version 1.0.2d of the OpenSSL secure sockets + Python wrapper for version 1.0.2f of the OpenSSL secure sockets library, which is built by ssl.vcxproj Homepage: http://www.openssl.org/ -- cgit v0.12