summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* bpo-33383: Fix crash in get() of the dbm.ndbm database object. (#6630)Serhiy Storchaka2018-04-292-5/+5
|
* bpo-33329: Fix multiprocessing regression on newer glibcs (GH-6575)Antoine Pitrou2018-04-231-6/+8
| | | | | | | Starting with glibc 2.27.9000-xxx, sigaddset() can return EINVAL for some reserved signal numbers between 1 and NSIG. The `range(1, NSIG)` idiom is commonly used to select all signals for blocking with `pthread_sigmask`. So we ignore the sigaddset() return value until we expose sigfillset() to provide a better idiom.
* bpo-32232: by default, Setup modules are no longer built with ↵xdegaye2018-04-202-20/+20
| | | | | | | | | -DPy_BUILD_CORE (GH-6489) Setup modules are no longer built with -DPy_BUILD_CORE by default, as using that flag may now require including additional internal-only header files. Instead, only the modules that specifically need it use that setting.
* bpo-33308: Fix a crash in the parser module when convert an ST object. (#6519)Serhiy Storchaka2018-04-181-3/+3
| | | | Converting with line_info=False and col_info=True crashed before.
* bpo-33253: Fix xxsubtype.bench() to accept correct str signature. (GH-6439)Devon R2018-04-101-1/+1
|
* bpo-23403: Bump pickle.DEFAULT_PROTOCOL to 4 (#6355)Łukasz Langa2018-04-042-11/+17
| | | This makes performance better and produces shorter pickles. This change is backwards compatible up to the oldest currently supported version of Python (3.4).
* bpo-33209: End framing at the end of C implementation of ↵Serhiy Storchaka2018-04-031-2/+3
| | | | pickle.Pickler.dump(). (GH-6363)
* Fix duplicating words words. (GH-6296)Serhiy Storchaka2018-03-281-1/+1
| | | Most of them have been added in 3.7.
* bpo-32844: Fix a subprocess misredirection of a low fd (GH5689)Alexey Izbyshev2018-03-261-1/+1
| | | | | | | | | | bpo-32844: subprocess: Fix a potential misredirection of a low fd to stderr. When redirecting, subprocess attempts to achieve the following state: each fd to be redirected to is less than or equal to the fd it is redirected from, which is necessary because redirection occurs in the ascending order of destination descriptors. It fails to do so in a couple of corner cases, for example, if 1 is redirected to 2 and 0 is closed in the parent.
* Fix error message in sqlite connection thread check. (GH-6028)Takuya Akiba2018-03-261-2/+2
|
* bpo-33136: Harden ssl module against CVE-2018-8970 (GH-6229)Christian Heimes2018-03-251-3/+4
| | | | | | | Harden ssl module against LibreSSL CVE-2018-8970. X509_VERIFY_PARAM_set1_host() is called with an explicit namelen. A new test ensures that NULL bytes are not allowed. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-33127: Compatibility patch for LibreSSL 2.7.0 (GH-6210)Christian Heimes2018-03-241-6/+16
| | | | | | | | | | LibreSSL 2.7 introduced OpenSSL 1.1.0 API. The ssl module now detects LibreSSL 2.7 and only provides API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7. Documentation updates and fixes for failing tests will be provided in another patch set. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32999: ast: Convert useless check to assert (GH-6197)INADA Naoki2018-03-231-3/+1
|
* bpo-32999: Revert GH-6002 (fc7df0e6) (GH-6189)INADA Naoki2018-03-221-24/+11
| | | | bpo-33018 (GH-5944) fixed bpo-32999 too. So fc7df0e6 is not required anymore. Revert it except test case.
* bpo-33018: Improve issubclass() error checking and message. (GH-5944)jab2018-03-221-0/+5
| | | | | This improves error message for situations when a non-class is checked w.r.t. an abstract base class.
* Fix typos in mmap() error messages (GH-6173)Zackery Spytz2018-03-211-2/+2
|
* bpo-27645: Fix version number in 'database in transaction' fallback (GH-6131)Aviv Palivoda2018-03-181-2/+2
| | | It was actually fixed in SQLite 3.8.8, not 3.8.7.
* bpo-32374: m_traverse may be called with m_state=NULL (GH-5140)Marcel Plch2018-03-171-3/+49
| | | | | Multi-phase initialized modules allow m_traverse to be called while the module is still being initialized, so module authors may need to account for that.
* bpo-33021: Fix GCC 7 warning (-Wmaybe-uninitialized) in mmapmodule.c (#6117)Zackery Spytz2018-03-141-1/+1
|
* signal: add strsignal() (#6017)Antoine Pietri2018-03-122-1/+92
| | | Co-authored-by: Vajrasky Kok <sky.kok@speaklikeaking.com>
* bpo-33021: Release the GIL during fstat() calls (GH-6019)Nir Soffer2018-03-111-2/+9
| | | | | | | | | | | | | | fstat may block for long time if the file descriptor is on a non-responsive NFS server, hanging all threads. Most fstat() calls are handled by _Py_fstat(), releasing the GIL internally, but but _Py_fstat_noraise() does not release the GIL, and most calls release the GIL explicitly around it. This patch fixes last 2 calls to _Py_fstat_no_raise(), avoiding hangs when calling: - mmap.mmap() - os.urandom() - random.seed()
* bpo-27645: Add support for native backup facility of SQLite (GH-4238)Emanuele Gaifas2018-03-102-0/+142
|
* bpo-30249: Improve struct.unpack_from() error messages (GH-6059)Xiang Zhang2018-03-102-8/+32
|
* bpo-33016: Fix potential use of uninitialized memory in nt._getfinalpathname ↵Alexey Izbyshev2018-03-081-42/+32
| | | | (#6010)
* bpo-32999: Fix ABC.__subclasscheck__ crash (GH-6002)INADA Naoki2018-03-071-12/+25
|
* bpo-32969: Expose some missing constants in zlib and fix the doc (GH-5988)Xiang Zhang2018-03-071-3/+18
|
* bpo-33001: Prevent buffer overrun in os.symlink (GH-5989)Steve Dower2018-03-051-28/+38
|
* bpo-32903: Fix a memory leak in os.chdir() on Windows (GH-5801)Alexey Izbyshev2018-03-011-7/+7
|
* bpo-31453: Add setter for min/max protocol version (#5259)Christian Heimes2018-02-271-22/+212
| | | | | | | | | | | | OpenSSL 1.1 has introduced a new API to set the minimum and maximum supported protocol version. The API is easier to use than the old OP_NO_TLS1 option flags, too. Since OpenSSL has no call to set minimum version to highest supported, the implementation emulate maximum_version = MINIMUM_SUPPORTED and minimum_version = MAXIMUM_SUPPORTED by figuring out the minumum and maximum supported version at compile time. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32947: OpenSSL 1.1.1-pre1 / TLS 1.3 fixes (#5663)Christian Heimes2018-02-271-0/+4
| | | | | | | | | | | | | | | | | | * bpo-32947: OpenSSL 1.1.1-pre1 / TLS 1.3 fixes Misc fixes and workarounds for compatibility with OpenSSL 1.1.1-pre1 and TLS 1.3 support. With OpenSSL 1.1.1, Python negotiates TLS 1.3 by default. Some test cases only apply to TLS 1.2. Other tests currently fail because the threaded or async test servers stop after failure. I'm going to address these issues when OpenSSL 1.1.1 reaches beta. OpenSSL 1.1.1 has added a new option OP_ENABLE_MIDDLEBOX_COMPAT for TLS 1.3. The feature is enabled by default for maximum compatibility with broken middle boxes. Users should be able to disable the hack and CPython's test suite needs it to verify default options. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32147: Improved perfomance of binascii.unhexlify(). (GH-4586)Sergey Fedoseev2018-02-261-33/+5
|
* bpo-32394: Remove some TCP options on old version Windows. (GH-5523)animalize2018-02-261-0/+70
|
* bpo-32922: dbm.open() now encodes filename with the filesystem encoding. ↵Serhiy Storchaka2018-02-264-18/+45
| | | | (GH-5832)
* bpo-32622: Native sendfile on windows (#5565)Andrew Svetlov2018-02-251-2/+62
| | | * Support sendfile on Windows Proactor event loop naively.
* bpo-30622: Fix NPN for OpenSSL 1.1.1-pre1 (#5876)Christian Heimes2018-02-252-25/+30
| | | Signed-off-by: Christian Heimes <christian@python.org>
* bpo-17232: Clarify docs for -O and -OO command line options (#5839)Cheryl Sabella2018-02-251-2/+4
| | | The 'optimization' is for space in the executable file, not for run time.
* bpo-30622: Improve NPN support detection (#5859)Christian Heimes2018-02-242-11/+24
| | | | | | The ssl module now detects missing NPN support in LibreSSL. Co-Authored-By: Bernard Spil <brnrd@FreeBSD.org> Signed-off-by: Christian Heimes <christian@python.org>
* bpo-24334: Cleanup SSLSocket (#5252)Christian Heimes2018-02-242-63/+113
| | | | | | | | | | | | | * The SSLSocket is no longer implemented on top of SSLObject to avoid an extra level of indirection. * Owner and session are now handled in the internal constructor. * _ssl._SSLSocket now uses the same method names as SSLSocket and SSLObject. * Channel binding type check is now handled in C code. Channel binding is always available. The patch also changes the signature of SSLObject.__init__(). In my opinion it's fine. A SSLObject is not a user-constructable object. SSLContext.wrap_bio() is the only valid factory.
* bpo-31966: Fixed WindowsConsoleIO.write() for writing empty data. (GH-5754)Serhiy Storchaka2018-02-241-0/+3
|
* [bpo-28414] Make all hostnames in SSL module IDN A-labels (GH-5128)Christian Heimes2018-02-242-68/+78
| | | | | | | | | | | | Previously, the ssl module stored international domain names (IDNs) as U-labels. This is problematic for a number of reasons -- for example, it made it impossible for users to use a different version of IDNA than the one built into Python. After this change, we always convert to A-labels as soon as possible, and use them for all internal processing. In particular, server_hostname attribute is now an A-label, and on the server side there's a new sni_callback that receives the SNI servername as an A-label rather than a U-label.
* Test that new_timezone can return the UTC singleton (gh-5318)Paul Ganssle2018-02-221-0/+24
|
* bpo-32556: nt._getfinalpathname, nt._getvolumepathname and nt._getdiskusage ↵Steve Dower2018-02-222-48/+72
| | | | now correctly convert from bytes. (GH-5761)
* bpo-32604: Swap threads only if the interpreter is different. (gh-5778)Eric Snow2018-02-201-8/+14
| | | The CPython runtime assumes that there is a one-to-one relationship (for a given interpreter) between PyThreadState and OS threads. Sending and receiving on a channel in the same interpreter was causing crashes because of this (specifically due to a check in PyThreadState_Swap()). The solution is to not switch threads if the interpreter is the same.
* closes bpo-32859: Don't retry dup3() if it is not available at runtime (GH-5708)Alexey Izbyshev2018-02-201-1/+1
| | | | | | | | os.dup2() tests for dup3() system call availability at runtime, but doesn't remember the result across calls, repeating the test on each call with inheritable=False. Since the caller of os.dup2() is expected to hold the GIL, fix this by making the variable holding the test result static.
* bpo-31333: Re-implement ABCMeta in C (#5273)Ivan Levkivskyi2018-02-183-0/+985
| | | | This adds C versions of methods used by ABCMeta that improve performance of various ABC operations.
* bpo-32604: Clean up created subinterpreters before runtime finalization. ↵Eric Snow2018-02-171-21/+276
| | | | | | (gh-5709)
* Update comment in posixmodule.c (GH-5681)ngie-eign2018-02-141-1/+1
| | | | | A closing parentheses was missing. Signed-off-by: Ngie Cooper <yaneurabeya@gmail.com>
* bpo-31787: Prevent refleaks when calling __init__() more than once (GH-3995)Oren Milman2018-02-134-13/+23
|
* bpo-32221: makeipaddr(): remove interface part + speedup (GH-5449) (#5449)Коренберг Марк2018-02-121-28/+31
|
* bpo-29248: Fix os.readlink() on Windows (GH-5577)SSE42018-02-121-3/+3
| | | | The PrintNameOffset field of the reparse data buffer was treated as a number of characters instead of bytes.