summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bpo-40137: Move state lookups out of the critical path (GH-25492)Raymond Hettinger2021-04-211-28/+36
|
* bpo-40137: Optimize _PyType_GetModuleByDef() loop (GH-25505)Victor Stinner2021-04-211-5/+21
| | | | | | | PyType_Ready() now ensures that a type MRO cannot be empty. _PyType_GetModuleByDef() no longer checks "i < PyTuple_GET_SIZE(mro)" at the first loop iteration to optimize the most common case, when the argument is the defining class.
* bpo-40137: _PyType_GetModuleByDef() doesn't check tp_flags (GH-25504)Victor Stinner2021-04-211-15/+14
| | | | | | | | _PyType_GetModuleByDef() no longer checks if types are heap types. _PyType_GetModuleByDef() must only be called on a heap type created by PyType_FromModuleAndSpec() or on its subclasses. type_ready_mro() ensures that a static type cannot inherit from a heap type.
* doc: Sync some missing 3.10 changes with the What's New (GH-25503)Batuhan Taskaya2021-04-211-1/+27
| | | Automerge-Triggered-By: GH:isidentical
* Fix typo in whatsnew/3.10.rst (GH-25498)JunWei Song2021-04-211-2/+2
|
* bpo-38659: [Enum] add _simple_enum decorator (GH-25497)Ethan Furman2021-04-2120-34/+870
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add: * `_simple_enum` decorator to transform a normal class into an enum * `_test_simple_enum` function to compare * `_old_convert_` to enable checking `_convert_` generated enums `_simple_enum` takes a normal class and converts it into an enum: @simple_enum(Enum) class Color: RED = 1 GREEN = 2 BLUE = 3 `_old_convert_` works much like` _convert_` does, using the original logic: # in a test file import socket, enum CheckedAddressFamily = enum._old_convert_( enum.IntEnum, 'AddressFamily', 'socket', lambda C: C.isupper() and C.startswith('AF_'), source=_socket, ) `_test_simple_enum` takes a traditional enum and a simple enum and compares the two: # in the REPL or the same module as Color class CheckedColor(Enum): RED = 1 GREEN = 2 BLUE = 3 _test_simple_enum(CheckedColor, Color) _test_simple_enum(CheckedAddressFamily, socket.AddressFamily) Any important differences will raise a TypeError
* bpo-43859: Improve the error message for IndentationError exceptions (GH-25431)Pablo Galindo2021-04-216-554/+2185
|
* bpo-38605: Revert making 'from __future__ import annotations' the default ↵Pablo Galindo2021-04-2132-523/+436
| | | | | | (GH-25490) This reverts commits 044a1048ca93d466965afc027b91a5a9eb9ce23c and 1be456ae9d53bb1cba2b24fc86175c282d1c2169, adapting the code to changes that happened after it.
* Update Sphinx directive for super from function to class (GH-25489)Géry Ogam2021-04-201-1/+1
|
* bpo-43888: Reduce coverage collection timeout to 1h40m in GHA (GH-25471)Sviatoslav Sydorenko2021-04-201-0/+1
| | | | | Ref: Signed-off-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
* docs: clarify what patterns Path.glob accepts (GH-25486)Ned Batchelder2021-04-201-2/+3
| | | Automerge-Triggered-By: GH:Yhg1s
* bpo-43799: Also define SSLv3_method() (GH-25481)Christian Heimes2021-04-202-8/+3
| | | Signed-off-by: Christian Heimes <christian@python.org>
* Document that random.gauss is normal distribution (GH-24935)Joonas Paalasmaa2021-04-201-3/+3
|
* Improve the error message for choices(population, 10) (GH-25267)Raymond Hettinger2021-04-201-1/+9
|
* Revert "bpo-38659: [Enum] add _simple_enum decorator (GH-25285)" (GH-25476)Ethan Furman2021-04-2020-871/+34
| | | This reverts commit dbac8f40e81eb0a29dc833e6409a1abf47467da6.
* bpo-38659: [Enum] add _simple_enum decorator (GH-25285)Ethan Furman2021-04-2020-34/+871
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add: _simple_enum decorator to transform a normal class into an enum _test_simple_enum function to compare _old_convert_ to enable checking _convert_ generated enums _simple_enum takes a normal class and converts it into an enum: @simple_enum(Enum) class Color: RED = 1 GREEN = 2 BLUE = 3 _old_convert_ works much like _convert_ does, using the original logic: # in a test file import socket, enum CheckedAddressFamily = enum._old_convert_( enum.IntEnum, 'AddressFamily', 'socket', lambda C: C.isupper() and C.startswith('AF_'), source=_socket, ) test_simple_enum takes a traditional enum and a simple enum and compares the two: # in the REPL or the same module as Color class CheckedColor(Enum): RED = 1 GREEN = 2 BLUE = 3 _test_simple_enum(CheckedColor, Color) _test_simple_enum(CheckedAddressFamily, socket.AddressFamily) Any important differences will raise a TypeError
* bpo-25460: Surround suggestions by quotes (GH-25473)Pablo Galindo2021-04-192-16/+16
|
* Add doctests (GH-25474)Raymond Hettinger2021-04-191-3/+45
|
* bpo-43837: Reverse order of precedence table to show tightly binding ↵Ammar Askar2021-04-191-29/+29
| | | | operators first (GH-25469)
* bpo-40849: Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag (GH-20463)l0x2021-04-194-0/+18
| | | This short PR exposes an openssl flag that wasn't exposed. I've also updated to doc to reflect the change. It's heavily inspired by 990fcaac3c428569697f62a80fd95ab4d4b93151.
* bpo-43669: More test_ssl cleanups (GH-25470)Christian Heimes2021-04-191-78/+21
| | | Signed-off-by: Christian Heimes <christian@python.org>
* bpo-43880: Show DeprecationWarnings for deprecated ssl module features ↵Christian Heimes2021-04-1914-201/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-25455) * ssl.OP_NO_SSLv2 * ssl.OP_NO_SSLv3 * ssl.OP_NO_TLSv1 * ssl.OP_NO_TLSv1_1 * ssl.OP_NO_TLSv1_2 * ssl.OP_NO_TLSv1_3 * ssl.PROTOCOL_SSLv2 * ssl.PROTOCOL_SSLv3 * ssl.PROTOCOL_SSLv23 (alias for PROTOCOL_TLS) * ssl.PROTOCOL_TLS * ssl.PROTOCOL_TLSv1 * ssl.PROTOCOL_TLSv1_1 * ssl.PROTOCOL_TLSv1_2 * ssl.TLSVersion.SSLv3 * ssl.TLSVersion.TLSv1 * ssl.TLSVersion.TLSv1_1 * ssl.wrap_socket() * ssl.RAND_pseudo_bytes() * ssl.RAND_egd() (already removed since it's not supported by OpenSSL 1.1.1) * ssl.SSLContext() without a protocol argument * ssl.match_hostname() * hashlib.pbkdf2_hmac() (pure Python implementation, fast OpenSSL function will stay) Signed-off-by: Christian Heimes <christian@python.org>
* bpo-42854: Use SSL_read/write_ex() (GH-25468)Christian Heimes2021-04-194-18/+34
| | | | | | | | The ssl module now uses ``SSL_read_ex`` and ``SSL_write_ex`` internally. The functions support reading and writing of data larger than 2 GB. Writing zero-length data no longer fails with a protocol violation error. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-36076: Add SNI support to ssl.get_server_certificate. (GH-16820)juhovh2021-04-184-2/+28
| | | | | | | | | | | | | | Many servers in the cloud environment require SNI to be used during the SSL/TLS handshake, therefore it is not possible to fetch their certificates using the ssl.get_server_certificate interface. This change adds an additional optional hostname argument that can be used to set the SNI. Note that it is intentionally a separate argument instead of using the host part of the addr tuple, because one might want to explicitly fetch the default certificate or fetch a certificate from a specific IP address with the specified SNI hostname. A separate argument also works better for backwards compatibility. Automerge-Triggered-By: GH:tiran
* bpo-43641: Stop stating that TLS 1.2 is the most modern version in docs ↵Illia Volochii2021-04-181-3/+2
| | | | | (GH-25041) Automerge-Triggered-By: GH:tiran
* bpo-43362: Fix invalid free and return check in _sha3 module (GH-25463)Christian Heimes2021-04-182-3/+11
| | | | | | | | | | | Commit 93d50a6a8d0c5d332c11aef267e66573a09765ac / GH-21855 changed the order of variable definitions, which introduced a potential invalid free bug. Py_buffer object is now initialized earlier and the result of Keccak initialize is verified. Co-authored-by: Alex Henrie <alexhenrie24@gmail.com> Signed-off-by: Christian Heimes <christian@python.org> Co-authored-by: Alex Henrie <alexhenrie24@gmail.com>
* Fix type group capture in the PEG highlight tool (GH-25464)Pablo Galindo2021-04-171-2/+7
|
* bpo-38530: Cover more error paths in error suggestion functions (GH-25462)Pablo Galindo2021-04-172-2/+15
|
* Small changes to the section about SyntaxErrors in the 3.10 What's New ↵Pablo Galindo2021-04-171-58/+70
| | | | document (GH-25461)
* bpo-37630: Do not skip the sha3 tests in case of missing builtin sha3 module ↵stratakis2021-04-171-22/+0
| | | | | | (GH-20986) Since we can use now the sha3 and shake algorithms from OpenSSL, we shouldn't skip the tests in case the builtin algorithm was not compiled or removed.
* bpo-38530: Include builtins in NameError suggestions (GH-25460)Pablo Galindo2021-04-172-5/+31
|
* bpo-42333: Port _ssl extension to multiphase initialization (PEP 489) (GH-23253)Christian Heimes2021-04-176-366/+468
| | | | | | | | | - Introduce sslmodule_slots - Introduce sslmodulestate - Use sslmodulestate - Get rid of PyState_FindModule - Move new structs and helpers to header file - Use macros to access state - Keep a strong ref to socket type
* Fix typo in a dataclasses comment. (GH-25454)Eric V. Smith2021-04-171-1/+1
|
* bpo-43669: Remove OpenSSL 0.9 to 1.1.0 specific documentation (GH-25453)Christian Heimes2021-04-174-175/+12
|
* Fix a typo in subprocess documentation (GH-25426)andrei kulakov2021-04-171-1/+1
| | | Fix a typo per conversation with vstinner on IRC: in posix => on posix.
* bpo-43669: PEP 644: Require OpenSSL 1.1.1 or newer (GH-23014)Christian Heimes2021-04-1717-8241/+5111
| | | | | | | | | | | | | | | | | | | | | | | | - Remove HAVE_X509_VERIFY_PARAM_SET1_HOST check - Update hashopenssl to require OpenSSL 1.1.1 - multissltests only OpenSSL > 1.1.0 - ALPN is always supported - SNI is always supported - Remove deprecated NPN code. Python wrappers are no-op. - ECDH is always supported - Remove OPENSSL_VERSION_1_1 macro - Remove locking callbacks - Drop PY_OPENSSL_1_1_API macro - Drop HAVE_SSL_CTX_CLEAR_OPTIONS macro - SSL_CTRL_GET_MAX_PROTO_VERSION is always defined now - security level is always available now - get_num_tickets is available with TLS 1.3 - X509_V_ERR MISMATCH is always available now - Always set SSL_MODE_RELEASE_BUFFERS - X509_V_FLAG_TRUSTED_FIRST is always available - get_ciphers is always supported - SSL_CTX_set_keylog_callback is always available - Update Modules/Setup with static link example - Mention PEP in whatsnew - Drop 1.0.2 and 1.1.0 from GHA tests
* bpo-43522: Fix SSLContext.hostname_checks_common_name (GH-24899)Christian Heimes2021-04-1718-709/+997
| | | | | | Fix problem with ssl.SSLContext.hostname_checks_common_name. OpenSSL does not copy hostflags from *struct SSL_CTX* to *struct SSL*. Signed-off-by: Christian Heimes <christian@python.org>
* Fix typo in exceptions.rst (GH-25434)Ikko Ashimine2021-04-171-1/+1
| | | attemps -> attempts
* bpo-43856: Add a versionadded directive to the importlib.metadata docs ↵Zackery Spytz2021-04-161-0/+2
| | | | | | | | (GH-25445) Use a versionadded directive to generate the text "New in version 3.8." (to match with the documentation of other modules). Automerge-Triggered-By: GH:jaraco
* bpo-43867: multiprocessing Server catchs SystemExit (GH-25441)Victor Stinner2021-04-162-6/+17
| | | | | The multiprocessing Server class now explicitly catchs SystemExit and closes the client connection in this case. It happens when the Server.serve_client() method reachs the end of file (EOF).
* bpo-43862: Enhance -W cmdline option documentation (GH-25439)Victor Stinner2021-04-164-80/+113
| | | | | The -W format is "action:message:category:module:lineno". Update also the Python manual page.
* bpo-38530: Match exactly AttributeError and NameError when offering ↵Pablo Galindo2021-04-162-2/+17
| | | | suggestions (GH-25443)
* bpo-38530: Properly extend UnboundLocalError from NameError (GH-25444)Pablo Galindo2021-04-161-1/+2
|
* bpo-43843: libregrtest uses threading.excepthook (GH-25400)Victor Stinner2021-04-166-4/+91
| | | | | | | | | test.libregrtest now marks a test as ENV_CHANGED (altered the execution environment) if a thread raises an exception but does not catch it. It sets a hook on threading.excepthook. Use --fail-env-changed option to mark the test as failed. libregrtest regrtest_unraisable_hook() explicitly flushs sys.stdout, sys.stderr and sys.__stderr__.
* bpo-43842: Fix race condition in test_logging SMTP test (GH-25436)Victor Stinner2021-04-162-2/+9
| | | | | Fix a race condition in the SMTP test of test_logging. Don't close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor.
* bpo-43844: Fix PendingDeprecationWarning in test_lib2to3 (GH-25407)Victor Stinner2021-04-161-4/+8
|
* bpo-41282: Fix distutils.utils.byte_compile() DeprecationWarning (GH-25406)Victor Stinner2021-04-163-7/+17
| | | | | * byte_compile() of distutils.utils no longer logs a DeprecationWarning * test_distutils no longer logs a DeprecationWarning
* bpo-40443: Remove unused imports (GH-25429)Victor Stinner2021-04-163-2/+2
| | | | | | * pyclbr no longer uses copy * typing no longer uses ast Issue discovered by pyflakes.
* bpo-41323: compiler: Reuse tuple in constant tuple folding (GH-25419)Inada Naoki2021-04-165-3253/+3268
|
* Improve the section with SyntaxError message improvements to the What's New ↵Pablo Galindo2021-04-161-2/+91
| | | | of 3.10 (GH-25428)