<br><br><div>On Wed Mar 26 2014 at 8:02:08 AM, Nick Coghlan <<a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Guido and Antoine persuaded me that selective backports would be a<br>
better idea for the network security enhancements than the wholesale<br>
module backports previously suggested, while Alex and Donald provided<br>
the necessary additional details, so here's a revised version of the<br>
PEP. Despite making it more explicit, I deleted more lines than I<br>
added, strongly suggesting that switching to selective backports was<br>
the right call :)<br>
<br>
I dealt with the SSL module the way Donald suggested: excluding the<br>
RAND_* functions, rather than listing everything else.<br>
<br>
I also changed the headings to make it clear the listed alternatives<br>
were rejected ideas, made the footnotes a bit more readable, and<br>
tidied up the wording in a few places.<br>
<br>
Diff: <a href="http://hg.python.org/peps/rev/8527f6e2beb0" target="_blank">http://hg.python.org/peps/rev/<u></u>8527f6e2beb0</a><br>
Web: <a href="http://www.python.org/dev/peps/pep-0466/" target="_blank">http://www.python.org/dev/<u></u>peps/pep-0466/</a><br>
<br>
==========================<br>
PEP: 466<br>
Title: Network Security Enhancement Exception for Python 2.7<br>
Version: $Revision$<br>
Last-Modified: $Date$<br>
Author: Nick Coghlan <<a href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a>>,<br>
Status: Draft<br>
Type: Informational<br>
Content-Type: text/x-rst<br>
Created: 23-Mar-2014<br>
Post-History: 23-Mar-2014, 24-Mar-2014, 25-Mar-2014, 26-Mar-2014<br></blockquote><div><br></div><div> [SNIP]</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Exemption Policy<br>
================<br>
<br>
Under this policy, the following features SHOULD be backported from Python<br>
3.4 to the upcoming Python 2.7.7 maintenance release:<br>
<br>
* in the ``os`` module:<br>
<br>
* persistent file descriptor for ``os.urandom()``.<br>
<br>
* in the ``hmac`` module:<br>
<br>
* constant time comparison function (``hmac.compare_digest()``).<br>
<br>
* in the ``hashlib`` module:<br>
<br>
* password hashing function (``hashlib.pbkdf2_hmac()``).<br>
* details of hash algorithm availability (``hashlib.algorithms_<u></u>guaranteed``<br>
and ``hashlib.algorithms_<u></u>guaranteed``).<br></blockquote><div><br></div><div>You said algorithms_guaranteed twice. I assume that wasn't for emphasis. =)</div><div><br></div><div>I'm +1 on this version of the PEP.</div>