From: Antoine Pitrou Date: Fri, 7 Sep 2012 21:51:22 +0000 (+0200) Subject: Issue #15340: Fix importing the random module when /dev/urandom cannot be opened. X-Git-Tag: v3.3.1rc1~818^2^2~131 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8c195afcace7bfb3cc6a198718f435363aecbc21;p=python Issue #15340: Fix importing the random module when /dev/urandom cannot be opened. This was a regression caused by the hash randomization patch. --- 8c195afcace7bfb3cc6a198718f435363aecbc21 diff --cc Misc/NEWS index 9babfd86a8,065f5f61a4..24c42503ac --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -23,133 -21,120 +23,136 @@@ Core and Builtin - Issue #15801: Make sure mappings passed to '%' formatting are actually subscriptable. -- Issue #15726: Fix incorrect bounds checking in PyState_FindModule. - Patch by Robin Schreiber. +Library +------- -- Issue #15604: Update uses of PyObject_IsTrue() to check for and handle - errors correctly. Patch by Serhiy Storchaka. +- Issue #15876: Fix a refleak in the curses module: window.encoding. -- Issue #13119: sys.stdout and sys.stderr are now using "\r\n" newline on - Windows, as Python 2. +- Issue #15841: The readable(), writable() and seekable() methods of BytesIO + and StringIO objects now raise ValueError when the object has been closed. + Patch by Alessandro Moura. -- Issue #14579: Fix CVE-2012-2135: vulnerability in the utf-16 decoder after - error handling. Patch by Serhiy Storchaka. +- Issue #15447: Use subprocess.DEVNULL in webbrowser, instead of opening + os.devnull explicitly and leaving it open. -- Issue #15404: Refleak in PyMethodObject repr. +- Issue #15509: webbrowser.UnixBrowser no longer passes empty arguments to + Popen when %action substitutions produce empty strings. -- Issue #15394: An issue in PyModule_Create that caused references to - be leaked on some error paths has been fixed. Patch by Julia Lawall. +- Issue #12776,#11839: call argparse type function (specified by add_argument) + only once. Before, the type function was called twice in the case where the + default was specified and the argument was given as well. This was + especially problematic for the FileType type, as a default file would always + be opened, even if a file argument was specified on the command line. -- Issue #15368: An issue that caused bytecode generation to be - non-deterministic when using randomized hashing (-R) has been fixed. +Extension Modules +----------------- -- Issue #15020: The program name used to search for Python's path is now - "python3" under Unix, not "python". +Tests +----- -- Issue #15033: Fix the exit status bug when modules invoked using -m swith, - return the proper failure return value (1). Patch contributed by Jeff Knupp. +- Issue #15802: Fix test logic in TestMaildir.test_create_tmp. Patch + by Serhiy Storchaka. -- Issue #12268: File readline, readlines and read() or readall() methods - no longer lose data when an underlying read system call is interrupted. - IOError is no longer raised due to a read system call returning EINTR - from within these methods. +- Issue #15557: Added a test suite for the webbrowser module, thanks + to Anton Barkovsky. -- Issue #15142: Fix reference leak when deallocating instances of types - created using PyType_FromSpec(). +Build +----- -- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on - the work by Hirokazu Yamamoto. +- Issue #15819: Make sure we can build Python out-of-tree from a readonly + source directory. (Somewhat related to Issue #9860.) -- Issue #14775: Fix a potential quadratic dict build-up due to the garbage - collector repeatedly trying to untrack dicts. +Documentation +------------- -- Issue #14494: Fix __future__.py and its documentation to note that - absolute imports are the default behavior in 3.0 instead of 2.7. - Patch by Sven Marnach. +- Issue #11964: Document a change in v3.2 to the behavior of the indent + parameter of json encoding operations. -- Issue #14761: Fix potential leak on an error case in the import machinery. +Tools/Demos +----------- -- Issue #14699: Fix calling the classmethod descriptor directly. -- Issue #14433: Prevent msvcrt crash in interactive prompt when stdin - is closed. +What's New in Python 3.3.0 Release Candidate 2? +=============================================== -- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError - when repr() or str() is called on such an object. +*Release date: XX-Sep-2012* -- Issue #14658: Fix binding a special method to a builtin implementation of a - special method with a different name. +Core and Builtins +----------------- -- Issue #14630: Fix a memory access bug for instances of a subclass of int - with value 0. +- Issue #15784: Modify OSError.__str__() to better distinguish between + errno error numbers and Windows error numbers. -- Issue #14612: Fix jumping around with blocks by setting f_lineno. +- Issue #15781: Fix two small race conditions in import's module locking. -- Issue #14607: Fix keyword-only arguments which started with ``__``. +Library +------- -- Issue #13889: Check and (if necessary) set FPU control word before calling - any of the dtoa.c string <-> float conversion functions, on MSVC builds of - Python. This fixes issues when embedding Python in a Delphi app. ++- Issue #15340: Fix importing the random module when /dev/urandom cannot ++ be opened. This was a regression caused by the hash randomization patch. + -- Issue #14474: Save and restore exception state in thread.start_new_thread() - while writing error message if the thread leaves a unhandled exception. +- Issue #15828: Restore support for C extensions in imp.load_module() -- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch - by Suman Saha. +- Issue #10650: Deprecate the watchexp parameter of the Decimal.quantize() + method. -- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as - the module name that was not interned. +- Issue #15785: Modify window.get_wch() API of the curses module: return + a character for most keys, and an integer for special keys, instead of + always returning an integer. So it is now possible to distinguish special + keys like keypad keys. -- Issue #14331: Use significantly less stack space when importing modules by - allocating path buffers on the heap instead of the stack. +- Issue #14223: Fix window.addch() of the curses module for special characters + like curses.ACS_HLINE: the Python function addch(int) and addch(bytes) is now + calling the C function waddch()/mvwaddch() (as it was done in Python 3.2), + instead of wadd_wch()/mvwadd_wch(). The Python function addch(str) is still + calling the C function wadd_wch()/mvwadd_wch() if the Python curses is linked + to libncursesw. -- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not - passed strings. +Documentation +------------- -- Issue #1469629: Allow cycles through an object's __dict__ slot to be - collected. (For example if ``x.__dict__ is x``). +- Issue #15814: The memoryview enhancements in 3.3.0 accidentally permitted + the hashing of multi-dimensional memorviews and memoryviews with multi-byte + item formats. The intended restrictions have now been documented - they + will be correctly enforced in 3.3.1 -- Issue #14172: Fix reference leak when marshalling a buffer-like object - (other than a bytes object). -- Issue #13521: dict.setdefault() now does only one lookup for the given key, - making it "atomic" for many purposes. Patch by Filip Gruszczyński. +What's New in Python 3.3.0 Release Candidate 1? +=============================================== -- Issue #14471: Fix a possible buffer overrun in the winreg module. +*Release date: 25-Aug-2012* -Library -------- +Core and Builtins +----------------- -- Issue #15340: Fix importing the random module when /dev/urandom cannot - be opened. This was a regression caused by the hash randomization patch. +- Issue #15573: memoryview comparisons are now performed by value with full + support for any valid struct module format definition. -- Issue #15841: The readable(), writable() and seekable() methods of BytesIO - and StringIO objects now raise ValueError when the object has been closed. - Patch by Alessandro Moura. +- Issue #15316: When an item in the fromlist for __import__ doesn't exist, + don't raise an error, but if an exception is raised as part of an import do + let that propagate. -- Issue #15509: webbrowser.UnixBrowser no longer passes empty arguments to - Popen when %action substitutions produce empty strings. +- Issue #15778: ensure that str(ImportError(msg)) returns a str + even when msg isn't a str. -- Issue #12776,#11839: call argparse type function (specified by add_argument) - only once. Before, the type function was called twice in the case where the - default was specified and the argument was given as well. This was - especially problematic for the FileType type, as a default file would always - be opened, even if a file argument was specified on the command line. +- Issue #2051: Source file permission bits are once again correctly + copied to the cached bytecode file. (The migration to importlib + reintroduced this problem because these was no regression test. A test + has been added as part of this patch) + +- Issue #15761: Fix crash when PYTHONEXECUTABLE is set on Mac OS X. + +- Issue #15726: Fix incorrect bounds checking in PyState_FindModule. + Patch by Robin Schreiber. + +- Issue #15604: Update uses of PyObject_IsTrue() to check for and handle + errors correctly. Patch by Serhiy Storchaka. + +- Issue #14846: importlib.FileFinder now handles the case where the + directory being searched is removed after a previous import attempt + +Library +------- - Issue #13370: Ensure that ctypes works on Mac OS X when Python is compiled using the clang compiler