Commit Graph

25516 Commits

Author SHA1 Message Date
Miss Islington (bot) 635743355d
Fix IndexError when parsing unexpectedly ending quoted-string. (GH-14813)
This exception was caused because the input ended unexpectedly with only one
single quote instead of a pair with some value inside it.
(cherry picked from commit 719a062bcb)

Co-authored-by: Abhilash Raj <maxking@users.noreply.github.com>
2019-07-17 10:29:18 -07:00
Miss Islington (bot) 6816ca30af
bpo-37461: Fix infinite loop in parsing of specially crafted email headers (GH-14794)
* bpo-37461: Fix infinite loop in parsing of specially crafted email headers.

Some crafted email header would cause the get_parameter method to run in an
infinite loop causing a DoS attack surface when parsing those headers. This
patch fixes that by making sure the DQUOTE character is handled to prevent
going into an infinite loop.
(cherry picked from commit a4a994bd3e)

Co-authored-by: Abhilash Raj <maxking@users.noreply.github.com>
2019-07-17 10:13:54 -07:00
Miss Islington (bot) 6a2aec0ff5
Fix infinite loop in email folding logic (GH-12732)
As far as I can tell, this infinite loop would be triggered if:

1. The value being folded contains a single word (no spaces) longer than
   max_line_length
2. The max_line_length is shorter than the encoding's name + 9
   characters.

bpo-36564: https://bugs.python.org/issue36564
(cherry picked from commit f69d5c6198)

Co-authored-by: Paul Ganssle <pganssle@users.noreply.github.com>
2019-07-16 11:08:36 -07:00
Miss Islington (bot) cf9a63c6c7
bpo-37593: Swap the positions of posonlyargs and args in the constructor of ast.parameters nodes (GH-14778)
https://bugs.python.org/issue37593
(cherry picked from commit cd6e83b481)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-07-14 16:49:52 -07:00
Miss Islington (bot) b1e4d1b603 bpo-26967: fix flag grouping with allow_abbrev=False (GH-14316) (GH-14759)
The `allow_abbrev` option for ArgumentParser is documented and intended to disable support for unique prefixes of --options, which may sometimes be ambiguous due to deferred parsing.

However, the initial implementation also broke parsing of grouped short flags, such as `-ab` meaning `-a -b` (or `-a=b`).  Checking the argument for a leading `--` before rejecting it fixes this.

This was prompted by pytest-dev/pytestGH-5469, so a backport to at least 3.8 would be great 😄
And this is my first PR to CPython, so please let me know if I've missed anything!

https://bugs.python.org/issue26967
(cherry picked from commit dffca9e925)

Co-authored-by: Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com>
2019-07-14 07:59:56 +02:00
Miss Islington (bot) 143672cf02
bpo-37579: Improve equality behavior for pure Python datetime and time (GH-14726)
Returns NotImplemented for timedelta and time in __eq__ for different types in Python implementation, which matches the C implementation.

This also adds tests to enforce that these objects will fall back to the right hand side's __eq__ and/or __ne__ implementation.

bpo-37579
(cherry picked from commit e6b46aafad)

Co-authored-by: Xtreak <tir.karthi@gmail.com>
2019-07-13 06:59:37 -07:00
Miss Islington (bot) 3d58b78481
bpo-37558: Shared memory tests are failing due to double slashes (GH-14703)
With the addition of shared memory into Python 3.8, we now have three tests failing on Solaris, namely `test_multiprocessing_fork`, `test_multiprocessing_forkserver` and `test_multiprocessing_spawn`. The reason seems to be incorrect name handling which results in two slashes being prepended.

https://bugs.python.org/issue37558
(cherry picked from commit 4737265622)

Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
2019-07-11 11:38:37 -07:00
Miss Islington (bot) 68bd9c5691 bpo-18374: fix tests to check the correct thing about line numbers (GH-14659) (GH-14672)
(cherry picked from commit 430a9f44fe)

Co-authored-by: Carl Friedrich Bolz-Tereick <cfbolz@gmx.de>
2019-07-09 14:28:56 +01:00
Miss Islington (bot) 4c403b8ca2
bpo-37322: ssl test_pha_required_nocert() ignores expected SSLError (GH-14670)
test_ssl.test_pha_required_nocert() now uses
support.catch_threading_exception() to ignore the expected SSLError
in ConnectionHandler of ThreadedEchoServer (it is only raised
sometimes on Windows).
(cherry picked from commit 73ea54620a)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-09 05:55:08 -07:00
Miss Islington (bot) 58f2c7f424 bpo-37526: Add support.catch_threading_exception() (GH-14664) (GH-14666)
Context manager catching threading.Thread exception using
threading.excepthook.
(cherry picked from commit 91b4f7ab7f)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-09 13:35:59 +02:00
Miss Islington (bot) c7be35c2ab
bpo-18374: fix wrong col_offset of some ast.BinOp instances (GH-14607)
Nested BinOp instances (e.g. a+b+c) had a wrong col_offset for the
second BinOp (e.g. 2 instead of 0 in the example). Fix it by using the
correct st node to copy the line and col_offset from in ast.c.
(cherry picked from commit 110a47c4f4)

Co-authored-by: Carl Friedrich Bolz-Tereick <cfbolz@gmx.de>
2019-07-08 14:41:34 -07:00
Miss Islington (bot) cdada40b23 bpo-37421: test_concurrent_futures stops ForkServer (GH-14643) (GH-14645)
test_concurrent_futures now explicitly stops the ForkServer instance
if it's running.
(cherry picked from commit e676244235)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-08 11:51:49 +02:00
Miss Islington (bot) 66905d1467 bpo-37520: Correct behavior for zipfile.Path.parent (GH-14638) (GH-14641)
* bpo-37520: Correct behavior for zipfile.Path.parent

* 📜🤖 Added by blurb_it.
(cherry picked from commit 38f44b4a4a)

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
2019-07-07 18:05:53 -04:00
Miss Islington (bot) 229f6e85f8
bpo-37421: multiprocessing tests now stop ForkServer (GH-14601)
multiprocessing tests now stop the ForkServer instance if it's
running: close the "alive" file descriptor to ask the server to stop
and then remove its UNIX address.
(cherry picked from commit 8fbeb14312)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-05 07:35:38 -07:00
Miss Islington (bot) 79665c698f
bpo-37421: test_concurrent_futures cleans up multiprocessing (GH-14563)
test_concurrent_futures now cleans up multiprocessing to remove
immediately temporary directories created by
multiprocessing.util.get_temp_dir().

The test now uses setUpModule() and tearDownModule().
(cherry picked from commit 684cb47fff)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-03 02:36:13 -07:00
Miss Islington (bot) a2a807f75d
bpo-37421: test_winconsoleio doesn't leak temp file anymore (GH-14562)
test_winconsoleio doesn't leak a temporary file anymore: use
tempfile.TemporaryFile() to remove it when the test completes.
(cherry picked from commit b71d8d6795)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-03 02:31:39 -07:00
Miss Islington (bot) 3cba3d3c55
bpo-37463: match_hostname requires quad-dotted IPv4 (GH-14499)
ssl.match_hostname() no longer accepts IPv4 addresses with additional text
after the address and only quad-dotted notation without trailing
whitespaces. Some inet_aton() implementations ignore whitespace and all data
after whitespace, e.g. '127.0.0.1 whatever'.

Short notations like '127.1' for '127.0.0.1' were already filtered out.

The bug was initially found by Dominik Czarnota and reported by Paul Kehrer.

Signed-off-by: Christian Heimes <christian@python.org>

https://bugs.python.org/issue37463
(cherry picked from commit 477b1b2576)

Co-authored-by: Christian Heimes <christian@python.org>
2019-07-02 14:06:18 -07:00
Miss Islington (bot) 632cb36084
bpo-37421: multiprocessing tests call _run_finalizers() (GH-14527)
multiprocessing tests now call explicitly _run_finalizers() to remove
immediately temporary directories created by
multiprocessing.util.get_temp_dir().
(cherry picked from commit 039fb49c18)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-02 04:58:05 -07:00
Miss Islington (bot) 518dc94e42
bpo-37335, test_c_locale_coercion: Remove unnecessary code (GH-14447)
Python initialization now ensures that sys stream encoding
names are always normalized by codecs.lookup(encoding).name.
Simplify test_c_locale_coercion: it doesn't have to normalize
encoding names anymore.
(cherry picked from commit 61bf97e916)

Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
2019-07-02 04:18:40 -07:00
Miss Islington (bot) bd92b94da9
bpo-34602: Avoid failures setting macOS stack resource limit (GH-14546)
Under some conditions the earlier fix for bpo-18075, "Infinite recursion
tests triggering a segfault on Mac OS X", now causes failures on macOS
when attempting to change stack limit with resource.setrlimit
resource.RLIMIT_STACK, like regrtest does when running the test suite.
The reverted change had specified a non-default stack size when linking
the python executable on macOS.  As of macOS 10.14.4, the previous
code causes a hard failure when running tests, although similar
failures had been seen under some conditions under some earlier
systems.  Reverting the change to the interpreter stack size at link
time helped for release builds but caused some tests to fail when
built --with-pydebug.  Try the opposite approach: continue to build
the interpreter with an increased stack size on macOS and remove
the failing setrlimit call in regrtest initialization.  This will
definitely avoid the resource.RLIMIT_STACK error and should have
no, or fewer, side effects.
(cherry picked from commit 5bbbc733e6)

Co-authored-by: Ned Deily <nad@python.org>
2019-07-02 00:31:07 -07:00
Miss Islington (bot) 746992c1ae
bpo-37363: Add audit events on startup for the run commands (GH-14524)
(cherry picked from commit e226e83d36)

Co-authored-by: Steve Dower <steve.dower@python.org>
2019-07-01 16:22:29 -07:00
Miss Islington (bot) 4c227e6a56
bpo-36763: Use PyConfig_Clear() (GH-14445)
Stop using "static PyConfig", PyConfig must now always use
dynamically allocated strings: use PyConfig_SetString(),
PyConfig_SetArgv() and PyConfig_Clear().
(cherry picked from commit 67310023f2)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-01 11:28:55 -07:00
Victor Stinner 466e18e8c2
Remove unused imports in tests (GH-14518) (GH-14520)
(cherry picked from commit 8f4ef3b019)
2019-07-01 19:01:52 +02:00
Miss Islington (bot) 2683ded568
bpo-37467: Fix PyErr_Display() for bytes filename (GH-14504)
Fix sys.excepthook() and PyErr_Display() if a filename is a bytes
string. For example, for a SyntaxError exception where the filename
attribute is a bytes string.

Cleanup also test_sys:

* Sort imports.
* Rename numruns global var to INTERN_NUMRUNS.
* Add DisplayHookTest and ExceptHookTest test case classes.
* Don't save/restore sys.stdout and sys.displayhook using
  setUp()/tearDown(): do it in each test method.
* Test error case (call hook with no argument) after the success case.
(cherry picked from commit f9b7457bd7)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-01 08:11:15 -07:00
Christian Heimes f22c4cf11d
[3.8] bpo-37428: Don't set PHA verify flag on client side (GH-14494)
SSLContext.post_handshake_auth = True no longer sets
SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the
option is documented as ignored for clients, OpenSSL implicitly enables cert
chain validation when the flag is set.

Signed-off-by: Christian Heimes <christian@python.org>

https://bugs.python.org/issue37428
(cherry picked from commit f0f5930ac8)
2019-07-01 09:25:48 +02:00
Miss Islington (bot) ee72dda961
[3.8] bpo-37440: Enable TLS 1.3 post-handshake auth in http.client (GH-14448) (GH-14495)
Post-handshake authentication is required for conditional client cert authentication with TLS 1.3.


https://bugs.python.org/issue37440
(cherry picked from commit d1bd6e79da)


Co-authored-by: Christian Heimes <christian@python.org>


https://bugs.python.org/issue37440
2019-07-01 00:07:44 -07:00
Miss Islington (bot) c2684c6d62
bpo-37199: Fix test failures when IPv6 is unavailable or disabled (GH-14480)
(cherry picked from commit c2cda638d6)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-06-30 08:42:22 -07:00
Miss Islington (bot) bf8cb31803
bpo-35621: Support running subprocesses in asyncio when loop is executed in non-main thread (GH-14344)
(cherry picked from commit 0d671c04c3)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2019-06-30 03:22:34 -07:00
Miss Islington (bot) ffcc161c75
bpo-29505: Add more fuzzing for re.compile, re.load and csv.reader (GH-14255)
Add more fuzz testing for re.compile, re.load and csv.reader
(cherry picked from commit 5cbbbd73a6)

Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
2019-06-29 23:13:18 -07:00
Steve Dower 323e743d48
bpo-37369: Fix initialization of sys members when launched via an app container (GH-14467)
sys._base_executable is now always defined on all platforms, and can be overridden through configuration.
Also adds test.support.PythonSymlink to encapsulate platform-specific logic for symlinking sys.executable
2019-06-29 14:28:59 -07:00
Miss Islington (bot) e3761ca91c
bpo-37412: Fix test_os.test_getcwd_long_path() on macOS (GH-14452)
(cherry picked from commit 29f609ed07)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-28 11:07:10 -07:00
Miss Islington (bot) 68c1c398f3 bpo-37412: Fix os.getcwd() for long path on Windows (GH-14424) (GH-14451)
* Fix test for integer overflow.
* Add an unit test.
(cherry picked from commit ec3e20a2d1)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-28 18:23:06 +02:00
Miss Islington (bot) 6fbed5350c
closes bpo-37420: Handle errors during iteration in os.sched_setaffinity. (GH-14414)
(cherry picked from commit 45a30af109)

Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
2019-06-27 09:45:30 -07:00
Miss Islington (bot) 4cbe7a3ce4
Replace deprecation warning with RuntimeError (GH-14397)
(cherry picked from commit 97d15b1ee0)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2019-06-27 04:58:34 -07:00
Miss Islington (bot) 7fe81ce47f
bpo-37421: Fix test_shutil: don't leak temporary files (GH-14416)
* Fix typo in supports_file2file_sendfile(); ensure that dst is
  removed
* Fix test_copytree_custom_copy_function(): remove dst tree.
  Use support.rmtree() rather than shutil.rmtree() to remove
  temporary directories: support tries harder.
(cherry picked from commit 4c26abd14f)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-26 16:57:49 -07:00
Miss Islington (bot) 82654a0372 bpo-29412: Fix indexError when parsing a header value ending unexpectedly (GH-14387) (GH-14411)
* patched string index out of range error in get_word function of _header_value_parser.py and created tests in test__header_value_parser.py for CFWS.
* Raise HeaderParseError instead of continuing when parsing a word.
(cherry picked from commit 7213df7bbf)

Co-authored-by: Abhilash Raj <maxking@users.noreply.github.com>
2019-06-26 15:05:36 -07:00
Miss Islington (bot) 5c4ce3e2fa
bpo-37417: Fix error handling in bytearray.extend. (GH-14407)
(cherry picked from commit 2a7d596f27)

Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
2019-06-26 13:17:00 -07:00
Miss Islington (bot) bdbd5e895d
bpo-37411: Rewrite test_wsgiref.testEnviron() (GH-14394)
Fix test_wsgiref.testEnviron() to no longer depend on the environment
variables (don't fail if "X" variable is set).

testEnviron() now overrides os.environ to get a deterministic
environment. Test full TestHandler.environ content: not only a few
selected variables.
(cherry picked from commit 5150d32792)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-26 12:38:25 -07:00
Miss Islington (bot) 63429c839b
bpo-37412: os.getcwdb() now uses UTF-8 on Windows (GH-14396)
The os.getcwdb() function now uses the UTF-8 encoding on Windows,
rather than the ANSI code page: see PEP 529 for the rationale. The
function is no longer deprecated on Windows.

os.getcwd() and os.getcwdb() now detect integer overflow on memory
allocations. On Unix, these functions properly report MemoryError on
memory allocation failure.
(cherry picked from commit 689830ee62)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-26 09:14:30 -07:00
Miss Islington (bot) dd4edbc5ad
bpo-37244: Fix test_multiprocessing.test_resource_tracker() (GH-14288)
Increase robustness of test_resource_tracker(): retry for 60 seconds.
(cherry picked from commit e1a63c4f21)

Co-authored-by: Pierre Glaser <pierreglaser@msn.com>
2019-06-25 15:49:31 -07:00
Miss Islington (bot) 4adc38e794
bpo-36888, test_multiprocessing: Increase test_parent_process timeout (GH-14286)
(cherry picked from commit 594d9b9f58)

Co-authored-by: Pierre Glaser <pierreglaser@msn.com>
2019-06-25 14:12:47 -07:00
Abhilash Raj c6e32824cf [3.8] bpo-33972: Fix EmailMessage.iter_attachments raising AttributeError (GH-14119) (GH-14380)
When certain malformed messages have content-type set to 'mulitpart/*' but
still have a single part body, iter_attachments can raise AttributeError. This
patch fixes it by returning a None value instead when the body is single part.
(cherry picked from commit 02257012f6)

Co-authored-by: Abhilash Raj <maxking@users.noreply.github.com>



https://bugs.python.org/issue33972
2019-06-25 11:38:48 -07:00
Miss Islington (bot) 12d174bed9
bpo-37400: Fix test_os.test_chown() (GH-14374)
Use os.getgroups() rather than grp.getgrall() to get groups.
Rename also the test to test_chown_gid().
(cherry picked from commit d7c87d982d)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-25 08:26:56 -07:00
Steve Dower 25fbe33b92
bpo-4963: Fix for initialization and non-deterministic behavior issues in mimetypes (GH-14375) 2019-06-25 08:20:43 -07:00
Jeroen Demeyer d917cfe405 [3.8] bpo-37250: put back tp_print for backwards compatibility (GH-14193)
This is a 3.8-only compatibility measure for third-party Cython-based sdists.

https://bugs.python.org/issue37250
2019-06-25 12:58:58 +02:00
Miss Islington (bot) d32594ad27
bpo-24214: Fixed the UTF-8 and UTF-16 incremental decoders. (GH-14304)
* The UTF-8 incremental decoders fails now fast if encounter
  a sequence that can't be handled by the error handler.
* The UTF-16 incremental decoders with the surrogatepass error
  handler decodes now a lone low surrogate with final=False.
(cherry picked from commit 894263ba80)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2019-06-25 02:12:16 -07:00
Miss Islington (bot) 26fe6c3537 bpo-36974: inherit tp_vectorcall_offset unconditionally (GH-13858) (GH-14342)
(cherry picked from commit a8b27e623d)

Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
2019-06-25 10:19:16 +02:00
Miss Islington (bot) 20372d6524
bpo-37393: Fix deprecation warnings in test_ntpath. (GH-14357)
eval() was being called an extra time without a filter for
deprecation warnings.
(cherry picked from commit 9fe42b49c7)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-06-25 00:12:19 -07:00
Miss Islington (bot) 5bf3b89dfb
bpo-37394: Fix pure Python implementation of the queue module (GH-14351)
(cherry picked from commit 3f5b9088b0)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-06-24 19:14:37 -07:00
Miss Islington (bot) b183b963f6
Get rid of exception traceback printing in asyncio tests (GH-14343)
(cherry picked from commit 549f7d45c8)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2019-06-24 10:21:35 -07:00