]> granicus.if.org Git - python/commitdiff
Issue #24603: Update the Windows build to use OpenSSL 1.0.2d
authorZachary Ware <zachary.ware@gmail.com>
Wed, 22 Jul 2015 04:27:08 +0000 (23:27 -0500)
committerZachary Ware <zachary.ware@gmail.com>
Wed, 22 Jul 2015 04:27:08 +0000 (23:27 -0500)
1  2 
Misc/NEWS
PCbuild/get_externals.bat
PCbuild/python.props
PCbuild/readme.txt

diff --cc Misc/NEWS
index 279cf5c4638ce2aadb06cbf903b4c1bbb8872d52,a7f42bc7930b8e684548e1d28b6a2291870c769f..f69138eda0b48af58d6315025eb53c718e100084
+++ b/Misc/NEWS
@@@ -10,82 -10,78 +10,87 @@@ Release date: 2015-07-2
  Core and Builtins
  -----------------
  
 -- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray
 -  object now always allocates place for trailing null byte and it's buffer now
 -  is always null-terminated.
 +- Issue #23573: Restored optimization of bytes.rfind() and bytearray.rfind()
 +  for single-byte argument on Linux.
  
 -- Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
 -  PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
 -  to check for and handle errors correctly.
 +- Issue #24569: Make PEP 448 dictionary evaluation more consistent.
  
 -- Issue #24257: Fixed system error in the comparison of faked
 -  types.SimpleNamespace.
 +- Issue #24583: Fix crash when set is mutated while being updated.
  
 -- Issue #22939: Fixed integer overflow in iterator object.  Patch by
 -  Clement Rouault.
 +- Issue #24407: Fix crash when dict is mutated while being updated.
  
 -- Issue #23985: Fix a possible buffer overrun when deleting a slice from
 -  the front of a bytearray and then appending some other bytes data.
 +Library
 +-------
  
 -- Issue #24102: Fixed exception type checking in standard error handlers.
 +- Issue #24580: Symbolic group references to open group in re patterns now are
 +  explicitly forbidden as well as numeric group references.
  
 -- Issue #23757:  PySequence_Tuple() incorrectly called the concrete list API
 -  when the data was a list subclass.
 +- Issue #24206: Fixed __eq__ and __ne__ methods of inspect classes.
  
 -- Issue #24407: Fix crash when dict is mutated while being updated.
 +- Issue #24631: Fixed regression in the timeit module with multiline setup.
  
 -- Issue #24096: Make warnings.warn_explicit more robust against mutation of the
 -  warnings.filters list.
 +- Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
 +  Patch from Nicola Palumbo and Laurent De Buyst.
  
 -- Issue #23996: Avoid a crash when a delegated generator raises an
 -  unnormalized StopIteration exception.  Patch by Stefan Behnel.
 +- Issue #23661: unittest.mock side_effects can now be exceptions again. This
 +  was a regression vs Python 3.4. Patch from Ignacio Rossi
  
 -- Issue #24022: Fix tokenizer crash when processing undecodable source code.
 +- Issue #24608: chunk.Chunk.read() now always returns bytes, not str.
  
 -- Issue #23309: Avoid a deadlock at shutdown if a daemon thread is aborted
 -  while it is holding a lock to a buffered I/O object, and the main thread
 -  tries to use the same I/O object (typically stdout or stderr).  A fatal
 -  error is emitted instead.
 +- Issue #18684: Fixed reading out of the buffer in the re module.
  
 -- Issue #22977: Fixed formatting Windows error messages on Wine.
 -  Patch by Martin Panter.
 +- Issue #24259: tarfile now raises a ReadError if an archive is truncated
 +  inside a data segment.
  
 -- Issue #23803: Fixed str.partition() and str.rpartition() when a separator
 -  is wider then partitioned string.
 +- Issue #15014: SMTP.auth() and SMTP.login() now support RFC 4954's optional
 +  initial-response argument to the SMTP AUTH command.
  
 -- Issue #23192: Fixed generator lambdas.  Patch by Bruno Cauet.
 +- Issue #24669: Fix inspect.getsource() for 'async def' functions.
 +  Patch by Kai Groner.
  
 -- Issue #23629: Fix the default __sizeof__ implementation for variable-sized
 -  objects.
++Build
++-----
 -- Issue #24044: Fix possible null pointer dereference in list.sort in out of
 -  memory conditions.
++- Issue #24603: Update the Windows build to use OpenSSL 1.0.2d.
 -- Issue #21354: PyCFunction_New function is exposed by python DLL again.
  
 -Library
 --------
 +What's New in Python 3.5.0 beta 3?
 +==================================
  
 -- Issue #24206: Fixed __eq__ and __ne__ methods of inspect classes.
 +Release date: 2015-07-05
  
 -- Issue #21750: mock_open.read_data can now be read from each instance, as it
 -  could in Python 3.3.
 +Core and Builtins
 +-----------------
  
 -- Issue #23247: Fix a crash in the StreamWriter.reset() of CJK codecs.
 +- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray
 +  object now always allocates place for trailing null byte and it's buffer now
 +  is always null-terminated.
  
 -- Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
 -  Patch from Nicola Palumbo and Laurent De Buyst.
 +- Upgrade to Unicode 8.0.0.
  
 -- Issue #24608: chunk.Chunk.read() now always returns bytes, not str.
 +- Issue #24345: Add Py_tp_finalize slot for the stable ABI.
  
 -- Issue #18684: Fixed reading out of the buffer in the re module.
 +- Issue #24400: Introduce a distinct type for PEP 492 coroutines; add
 +  types.CoroutineType, inspect.getcoroutinestate, inspect.getcoroutinelocals;
 +  coroutines no longer use CO_GENERATOR flag; sys.set_coroutine_wrapper
 +  works only for 'async def' coroutines; inspect.iscoroutine no longer
 +  uses collections.abc.Coroutine, it's intended to test for pure 'async def'
 +  coroutines only; add new opcode: GET_YIELD_FROM_ITER; fix generators wrapper
 +  used in types.coroutine to be instance of collections.abc.Generator;
 +  collections.abc.Awaitable and collections.abc.Coroutine can no longer
 +  be used to detect generator-based coroutines--use inspect.isawaitable
 +  instead.
  
 -- Issue #24259: tarfile now raises a ReadError if an archive is truncated
 -  inside a data segment.
 +- Issue #24450: Add gi_yieldfrom to generators and cr_await to coroutines.
 +  Contributed by Benno Leslie and Yury Selivanov.
 +
 +- Issue #19235: Add new RecursionError exception. Patch by Georg Brandl.
 +
 +Library
 +-------
 +
 +- Issue #21750: mock_open.read_data can now be read from each instance, as it
 +  could in Python 3.3.
  
  - Issue #24552: Fix use after free in an error case of the _pickle module.
  
index 7817691db9d6384f61826b709a97ad6ee80e5238,fa2a4cbd2c4f57649d9c2f3da98d54e17a4b5441..95b0879bd72bdde68bcaa7b6e5b21fb758f0fe1e
@@@ -54,9 -54,9 +54,9 @@@ echo.Fetching external libraries..
  for %%e in (\r
              bzip2-1.0.6\r
              nasm-2.11.06\r
-             openssl-1.0.2c\r
+             openssl-1.0.2d\r
 -            tcl-8.6.1.0\r
 -            tk-8.6.1.0\r
 +            tcl-core-8.6.4.1\r
 +            tk-8.6.4.1\r
              tix-8.4.3.4\r
              sqlite-3.8.3.1\r
              xz-5.0.5\r
index 857b8f8ee7f3454315da9f76b9ae076e14d587cc,0000000000000000000000000000000000000000..22faf4489d686b31d830e71c0f14f8dbdfdd725a
mode 100644,000000..100644
--- /dev/null
@@@ -1,151 -1,0 +1,151 @@@
-     <opensslDir>$(ExternalsDir)openssl-1.0.2c\</opensslDir>
 +<?xml version="1.0" encoding="utf-8"?>
 +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 +  <PropertyGroup>
 +    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
 +    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
 +    <!--
 +    Use the latest available version of Visual Studio to build. To override
 +    this and build with an earlier version, pass "/p:PlatformToolset=v100"
 +    (for example) when building.
 +    -->
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath14)' != ''">v140</PlatformToolset>
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath12)' != ''">v120</PlatformToolset>
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath11)' != ''">v110</PlatformToolset>
 +    <PlatformToolset Condition="'$(PlatformToolset)' == '' and '$(VCTargetsPath10)' != ''">v100</PlatformToolset>
 +    
 +    <!--
 +    Convincing MSVC/MSBuild to prefer our platform names is too difficult,
 +    so we define our own constant ArchName and use wherever we need it.
 +    -->
 +    <ArchName Condition="'$(ArchName)' == '' and $(Platform) == 'x64'">amd64</ArchName>
 +    <ArchName Condition="'$(ArchName)' == ''">win32</ArchName>
 +    <ArchName Condition="$(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate'">$(ArchName)-pgo</ArchName>
 +    
 +    <!-- Root directory of the repository -->
 +    <PySourcePath Condition="'$(PySourcePath)' == ''">$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)\..\))</PySourcePath>
 +    <PySourcePath Condition="!HasTrailingSlash($(PySourcePath))">$(PySourcePath)\</PySourcePath>
 +    
 +    <!-- Directory where build outputs are put -->
 +    <BuildPath Condition="'$(BuildPath)' == ''">$(PySourcePath)PCBuild\$(ArchName)\</BuildPath>
 +    <BuildPath Condition="!HasTrailingSlash($(BuildPath))">$(BuildPath)\</BuildPath>
 +    
 +    <!-- Directories of external projects. tcltk is handled in tcltk.props -->
 +    <ExternalsDir>$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals\`))</ExternalsDir>
 +    <sqlite3Dir>$(ExternalsDir)sqlite-3.8.3.1\</sqlite3Dir>
 +    <bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
 +    <lzmaDir>$(ExternalsDir)xz-5.0.5\</lzmaDir>
++    <opensslDir>$(ExternalsDir)openssl-1.0.2d\</opensslDir>
 +    <nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir>
 +    
 +    <!-- Suffix for all binaries when building for debug -->
 +    <PyDebugExt Condition="'$(PyDebugExt)' == '' and $(Configuration) == 'Debug'">_d</PyDebugExt>
 +    
 +    <!-- Full path of the resulting python.exe binary -->
 +    <PythonExe Condition="'$(PythonExe)' == ''">$(BuildPath)python$(PyDebugExt).exe</PythonExe>
 +  </PropertyGroup>
 +  
 +  <PropertyGroup Condition="'$(OverrideVersion)' == ''">
 +    <!--
 +    Read version information from Include\patchlevel.h. The following properties are set:
 +    
 +        MajorVersionNumber  -   the '3' in '3.5.2a1'
 +        MinorVersionNumber  -   the '5' in '3.5.2a1'
 +        MicroVersionNumber  -   the '2' in '3.5.2a1'
 +        ReleaseSerial       -   the '1' in '3.5.2a1'
 +        ReleaseLevelName    -   the 'a1' in '3.5.2a1'
 +        PythonVersionNumber -   '3.5.2' for '3.5.2a1'
 +        PythonVersion       -   '3.5.2a1'
 +        PythonVersionHex    -   0x030502a1 for '3.5.2a1'
 +        ReleaseLevelNumber  -   10 for alpha, 11 for beta, 12 for RC (gamma), and 15 for final
 +        Field3Value         -   2101 for '3.5.2a1' (== 1000*2 + 10*10 ('a') + 1)
 +    -->
 +    <_PatchLevelContent>$([System.IO.File]::ReadAllText(`$(PySourcePath)Include\patchlevel.h`))</_PatchLevelContent>
 +    <MajorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MAJOR_VERSION\s+(\d+)`).Groups[1].Value)</MajorVersionNumber>
 +    <MinorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MINOR_VERSION\s+(\d+)`).Groups[1].Value)</MinorVersionNumber>
 +    <MicroVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MICRO_VERSION\s+(\d+)`).Groups[1].Value)</MicroVersionNumber>
 +    <_ReleaseLevel>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_LEVEL\s+PY_RELEASE_LEVEL_(\w+)`).Groups[1].Value)</_ReleaseLevel>
 +    <ReleaseSerial>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_SERIAL\s+(\d+)`).Groups[1].Value)</ReleaseSerial>
 +    <ReleaseLevelNumber>15</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'ALPHA'">10</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'BETA'">11</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'GAMMA'">12</ReleaseLevelNumber>
 +    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'ALPHA'">a$(ReleaseSerial)</ReleaseLevelName>
 +    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'BETA'">b$(ReleaseSerial)</ReleaseLevelName>
 +    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'GAMMA'">rc$(ReleaseSerial)</ReleaseLevelName>
 +  </PropertyGroup>
 +  
 +  <PropertyGroup Condition="'$(OverrideVersion)' != ''">
 +    <!--
 +    Override the version number when building by specifying OverrideVersion.
 +    For example:
 +    
 +        PCBuild\build.bat "/p:OverrideVersion=3.5.2a1"
 +    
 +    Use the -V option to check your version is valid:
 +    
 +        PCBuild\build.bat -V "/p:OverrideVersion=3.5.2a1"
 +          PythonVersionNumber: 3.5.2
 +          PythonVersion:       3.5.2a1
 +          PythonVersionHex:    0x030502A1
 +          Field3Value:         2101
 +    
 +    Note that this only affects the version numbers embedded in resources and
 +    installers, but not sys.version.
 +    -->
 +    <MajorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[1].Value)</MajorVersionNumber>
 +    <MinorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[2].Value)</MinorVersionNumber>
 +    <MicroVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[3].Value)</MicroVersionNumber>
 +    <ReleaseLevelName>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[4].Value)</ReleaseLevelName>
 +    <_ReleaseLevel>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[5].Value)</_ReleaseLevel>
 +    <ReleaseSerial>$([System.Text.RegularExpressions.Regex]::Match($(OverrideVersion), `(\d+)\.(\d+)\.(\d+)((a|b|rc)(\d))?`).Groups[6].Value)</ReleaseSerial>
 +    <ReleaseSerial Condition="'$(ReleaseSerial)' == ''">0</ReleaseSerial>
 +    <ReleaseLevelNumber>15</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'a'">10</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'b'">11</ReleaseLevelNumber>
 +    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'rc'">12</ReleaseLevelNumber>
 +  </PropertyGroup>
 +  
 +  <PropertyGroup>
 +    <PythonVersionNumber>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)</PythonVersionNumber>
 +    <PythonVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)$(ReleaseLevelName)</PythonVersion>
 +    <PythonVersionHex>$([msbuild]::BitwiseOr(
 +        $([msbuild]::Multiply($(MajorVersionNumber), 16777216)),
 +        $([msbuild]::BitwiseOr(
 +            $([msbuild]::Multiply($(MinorVersionNumber), 65536)),
 +            $([msbuild]::BitwiseOr(
 +                $([msbuild]::Multiply($(MicroVersionNumber), 256)),
 +                $([msbuild]::BitwiseOr(
 +                    $([msbuild]::Multiply($(ReleaseLevelNumber), 16)),
 +                    $(ReleaseSerial)
 +                ))
 +            ))
 +        ))
 +    ))</PythonVersionHex>
 +    <Field3Value>$([msbuild]::Add(
 +        $(ReleaseSerial),
 +        $([msbuild]::Add(
 +            $([msbuild]::Multiply($(ReleaseLevelNumber), 10)),
 +            $([msbuild]::Multiply($(MicroVersionNumber), 1000))
 +        ))
 +    ))</Field3Value>
 +    
 +    <!-- The name of the resulting pythonXY.dll (without the extension) -->
 +    <PyDllName>python$(MajorVersionNumber)$(MinorVersionNumber)$(PyDebugExt)</PyDllName>
 +
 +    <!-- The version and platform tag to include in .pyd filenames -->
 +    <PydTag Condition="$(Platform) == 'Win32' or $(Platform) == 'x86'">.cp$(MajorVersionNumber)$(MinorVersionNumber)-win32</PydTag>
 +    <PydTag Condition="$(Platform) == 'x64'">.cp$(MajorVersionNumber)$(MinorVersionNumber)-win_amd64</PydTag>
 +    
 +    <!-- The version number for sys.winver -->
 +    <SysWinVer>$(MajorVersionNumber).$(MinorVersionNumber)</SysWinVer>
 +    <SysWinVer Condition="$(Platform) == 'Win32' or $(Platform) == 'x86'">$(SysWinVer)-32</SysWinVer>
 +  </PropertyGroup>
 +  
 +  <!-- Displays the calculated version info -->
 +  <Target Name="ShowVersionInfo">
 +    <Message Importance="high" Text="PythonVersionNumber: $(PythonVersionNumber)" />
 +    <Message Importance="high" Text="PythonVersion:       $(PythonVersion)" />
 +    <Message Importance="high" Text="PythonVersionHex:    0x$([System.UInt32]::Parse($(PythonVersionHex)).ToString(`X08`))" />
 +    <Message Importance="high" Text="Field3Value:         $(Field3Value)" />
 +  </Target>
 +</Project>
Simple merge