summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* bpo-43823: Fix location of one of the errors for invalid dictionary literals ↵Pablo Galindo2021-04-152-2/+3
| | | | (GH-25427)
* bpo-43822: Improve syntax errors for missing commas (GH-25377)Pablo Galindo2021-04-1513-650/+851
|
* Update ACKS (GH-25423)Ethan Furman2021-04-151-0/+2
| | | | * Add Arseny Boykov * Add Matthias Urlichs
* bpo-43744: [Enum] fix ``_is_private`` (GH-25349)Ethan Furman2021-04-153-2/+30
| | | | ``_is_private`` now returns ``False`` instead of raising an exception when enum name matches beginning of class name as used in a private variable
* [Enum] fix doc string (GH-25376)Ethan Furman2021-04-151-2/+4
|
* bpo-43846: Use less stack for large literals and calls (GH-25403)Mark Shannon2021-04-153-50/+171
| | | | | | | | | * Modify compiler to reduce stack consumption for large expressions. * Add more tests for stack usage. * Add NEWS item. * Raise SystemError for truly excessive stack use.
* bpo-43823: Improve syntax errors for invalid dictionary literals (GH-25378)Pablo Galindo2021-04-154-364/+823
|
* bpo-37741: make importlib.metadata docs discoverable through a module ↵Jason R. Coombs2021-04-151-0/+5
| | | | | directive. (GH-25415) Automerge-Triggered-By: GH:jaraco
* bpo-38530: Optimize the calculation of string sizes when offering ↵Pablo Galindo2021-04-141-8/+10
| | | | suggestions (GH-25412)
* bpo-43296: Handle sqlite3_value_blob() errors (GH-24674)Erlend Egeberg Aasland2021-04-143-7/+24
|
* bpo-38530: Make sure that failing to generate suggestions on failure will ↵Pablo Galindo2021-04-143-7/+19
| | | | not propagate exceptions (GH-25408)
* Fix typo in 3.10's What's New documentation (GH-25409)Zackery Spytz2021-04-141-1/+1
| | | "occured" -> "occurred"
* bpo-41282: (PEP 632) Load install schemes from sysconfig (GH-24549)Lumír 'Frenzy' Balhar2021-04-143-38/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch, `distutils.command.install.INSTALL_SCHEMES` are loaded from `sysconfig._INSTALL_SCHEMES`. The distutils module is deprecated and will be removed in 3.12 (PEP 632). This change makes the `sysconfig._INSTALL_SCHEMES` the single point of truth for install schemes while keeping `distutils.command.install.INSTALL_SCHEMES` exactly the same. If we, during the transition to the sysconfig, change something, this makes sure that it also propagates to distutils until the module gets removed. Moreover, as discussed [on Discourse], Linux distros need to patch distutils/sysconfig to make sure the packages will land in proper locations. This patch makes it easier because it leaves only one location where install schemes are defined which is much easier to patch/adjust. [on Discourse]: https://discuss.python.org/t/pep-632-deprecate-distutils-module/5134 The implementation is slightly different than the plan but I think it's the easiest way how to do it and it also makes the downstream patch simple, flexible and easy to maintain. It's also necessary to implement this before setuptools starts bundling the distutils module so the default install schemes stay in the standard library. The removed code from sysconfig does not seem to have any negative effect because, honestly, it seems that nothing actually uses the install schemes from sysconfig at all. There were many big changes in these modules where they were trying to include packaging in stdlib and then reverted that. Also, the test of distutils install command does not count with the different locations which is good evidence that the reason to have this piece of code is no longer valid. https://bugs.python.org/issue41282
* bpo-43505: Explicitly initialize and shutdown sqlite3 (GH-25404)Erlend Egeberg Aasland2021-04-141-11/+14
|
* bpo-41282: setup.py ignores distutils DeprecationWarning (GH-25405)Victor Stinner2021-04-141-8/+14
|
* bpo-43795: Sort PC/python3dll.c (GH-25312)Petr Viktorin2021-04-141-7/+7
| | | | | | Each section is sorted to reduce diffs (review effort) when the file becomes generated. Sort is done with key=str.lower to preserve most of the original order (underscored items first). https://bugs.python.org/issue43795
* bpo-38530: Offer suggestions on NameError (GH-25397)Pablo Galindo2021-04-148-10/+287
| | | | | | | | | | | When printing NameError raised by the interpreter, PyErr_Display will offer suggestions of simmilar variable names in the function that the exception was raised from: >>> schwarzschild_black_hole = None >>> schwarschild_black_hole Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'schwarschild_black_hole' is not defined. Did you mean: schwarzschild_black_hole?
* Fix typo in the What's New for 3.10 (GH-25396)Pablo Galindo2021-04-142-2/+2
|
* bpo-20364: Improve sqlite3 placeholder docs (GH-25003)Erlend Egeberg Aasland2021-04-143-48/+48
|
* bpo-43265: Improve sqlite3.Connection.backup error handling (GH-24586)Erlend Egeberg Aasland2021-04-143-49/+38
|
* bpo-43825: Fix deprecation warnings in test_cmd_line and test_collections ↵Karthikeyan Singaravelan2021-04-142-2/+2
| | | | | | (GH-25380) * Fix deprecation warnings due to invalid escape sequences. * Use self.assertEqual instead of deprecated self.assertEquals.