Change TLS 1.3 cipher suite settings for compatibility with OpenSSL
1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by
default.
Also update multissltests to test with latest OpenSSL.
Signed-off-by: Christian Heimes <christian@python.org>.
(cherry picked from commit 3e630c541b)
Co-authored-by: Christian Heimes <christian@python.org>
Two kind of mistakes:
1. Missed space. After concatenating there is no space between words.
2. Missed comma. Causes unintentional concatenating in a list of strings.
(cherry picked from commit 34fd4c2019)
(cherry picked from commit 7054e5c80b)
python-gdb.py now handles errors on computing the line number
of a Python frame.
Changes:
* PyFrameObjectPtr.current_line_num() now catchs any Exception on
calling addr2line(), instead of failing with a surprising "<class
'TypeError'> 'FakeRepr' object is not subscriptable" error.
* All callers of current_line_num() now handle current_line_num()
returning None.
* PyFrameObjectPtr.current_line() now also catchs IndexError on
getting a line from the Python source file.
(cherry picked from commit 2e438cc255)
The change to Tools/scripts/diff.py effectively backports part of
a2637729f2.
The test code changed in Doc/library/difflib.rst is not present in current 3.x.
* bpo-32962: python-gdb catchs ValueError on read_var() (GH-7692)
python-gdb now catchs ValueError on read_var(): when Python has no
debug symbols for example.
(cherry picked from commit 019d33b7a4)
* bpo-32962: python-gdb catchs UnicodeDecodeError (GH-7693)
python-gdb now catchs UnicodeDecodeError exceptions when calling
string().
(cherry picked from commit d22fc0bc7d)
bpo-29367: python-gdb.py now supports also method-wrapper
(wrapperobject) objects.
(cherry picked from commit 611083331d)
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>.
(cherry picked from commit 4ca0739c9d)
Co-authored-by: Christian Heimes <christian@python.org>
The Windows build now depends on Python 3.6 to fetch externals, but it
will be downloaded via NuGet (which is downloaded via PowerShell) if it
is not available via `py -3.6`. This means the only thing that must be
installed on a modern Windows box to do a full build of CPython with all
extensions is Visual Studio.
Cherry-picked from 51599e2bdd, parts of 40a23e8899, parts of 68d663cf85, d5cd21d75a, and possibly others that I've missed.
Also:
* Rename db -> bsddb for disambiguity
* Update sqlite3 to 3.14.2.0 since it's the version we use on 3.x, and it's simpler to just use it than to also upload the old version to cpython-source-deps
* Add PCbuild/*.ilk to .gitignore
* bpo-31221: patchcheck ignores external libraries (#3109)
Tools/scripts/patchcheck.py now ignores changes in directories which
are copies of external libraries:
* Modules/_ctypes/libffi_msvc/
* Modules/_ctypes/libffi_osx/
* Modules/_decimal/libmpdec/
* Modules/expat/
* Modules/zlib/
Drop also support for Mercurial, since CPython migrated to Git.
Exclude also libmpdec
patchcheck: exclude also libffi_osx and libffi_msvc
(cherry picked from commit 4a347ce426)
* Exclude also Modules/_ctypes/libffi on Python 2.7
* Remove _decimal/libmpdec, not in Python 2.7
Additional changes needed to backport:
- dropped legacy SVN support from patchcheck
- use subprocess.PIPE to silence expected error output
- don't try to use subprocess.Popen as a context manager
- don't try to pass a keyword argument to str.split()
(cherry picked from commit 482f7a274f)
This changes the main documentation, doc strings, source code comments, and a
couple error messages in the test suite. In some cases the word was removed
to fix the grammar.
Issue #26799: Fix python-gdb.py: don't get C types once when the Python code is
loaded, but get C types on demand. The C types can change if python-gdb.py is
loaded before the Python executable. Patch written by Thomas Ilsche.
* Add py-bt-full command
* py-bt now gives an output similar to a regular Python traceback
* py-bt indicates:
- if the garbage collector is running
- if the thread is waiting for the GIL
- detect PyCFunction_Call to get the name of the builtin function