From c16dfe18376791b3118ef42d39a3afd25ac6e306 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Sat, 21 Dec 2013 12:32:10 -0500 Subject: [PATCH] Make CPython PEP summary entry links consistent, add pep 456 discussion. --- Doc/whatsnew/3.4.rst | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index d07fa8c1a6a..6b65f2ec99b 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -123,9 +123,9 @@ Significantly Improved Library Modules: CPython implementation improvements: -* :ref:`PEP 442: Safe object finalization ` -* :ref:`PEP 445: Configurable memory allocators ` -* :pep:`456` Secure and interchangeable hash algorithm +* :pep:`442`: :ref:`Safe object finalization ` +* :pep:`445`: :ref:`Configurable memory allocators ` +* :pep:`456`: :ref:`Secure and interchangeable hash algorithm ` * Improve finalization of Python modules to avoid setting their globals to None, in most cases (:issue:`18214`). * A more efficient :mod:`marshal` format (:issue:`16475`). @@ -909,7 +909,7 @@ CPython Implementation Changes ============================== -.. _pep-445: +.. _whatsnew-pep-445: PEP 445: Customization of CPython memory allocators --------------------------------------------------- @@ -923,7 +923,7 @@ the CPython interpreter. PEP written and implemented by Victor Stinner. -.. _pep-442: +.. _whatsnew-pep-442: PEP 442: Safe object finalization --------------------------------- @@ -943,6 +943,25 @@ on the normal operation of the cyclic garbage collector. PEP written and implemented by Antoine Pitrou. +.. _whatsnew-pep-456: + +PEP 456: Secure and Interchangeable Hash Algorithm +-------------------------------------------------- + +:pep:`456` follows up on earlier security fix work done on Python's hash +algorithm to address certain DOS attacks to which public facing APIs backed by +dictionary lookups may be subject. (See :issue:`14621` for the start of the +current round of improvements.) The PEP unifies CPython's hash code to make it +easier for a packager to substitute a different hash algorithm, and switches +Python's default implementation to a SipHash implementation on platforms that +have a 64 bit data type. Any performance differences in comparison with the +older FNV algorithm are trivial. + +The PEP adds additional fields to the :func:`sys.hash_info` struct sequence to +describe the hash algorithm in use by the currently executing binary. Otherwise, +the PEP does not alter any existing CPython APIs. + + Other build and C API changes -----------------------------