Skip to content

Commit d265ce5

Browse files
committed
update to python 3.8.5
1 parent f5f002d commit d265ce5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+64
-30
lines changed

PythonLib/full/asyncio/tasks.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,13 @@ def gather(*coros_or_futures, loop=None, return_exceptions=False):
736736
the outer Future is *not* cancelled in this case. (This is to
737737
prevent the cancellation of one child to cause other children to
738738
be cancelled.)
739+
740+
If *return_exceptions* is False, cancelling gather() after it
741+
has been marked done won't cancel any submitted awaitables.
742+
For instance, gather can be marked done after propagating an
743+
exception to the caller, therefore, calling ``gather.cancel()``
744+
after catching an exception (raised by one of the awaitables) from
745+
gather won't cancel any other awaitables.
739746
"""
740747
if not coros_or_futures:
741748
if loop is None:

PythonLib/full/http/client.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,10 @@
147147
# _is_allowed_url_pchars_re = re.compile(r"^[/!$&'()*+,;=:@%a-zA-Z0-9._~-]+$")
148148
# We are more lenient for assumed real world compatibility purposes.
149149

150+
# These characters are not allowed within HTTP method names
151+
# to prevent http header injection.
152+
_contains_disallowed_method_pchar_re = re.compile('[\x00-\x1f]')
153+
150154
# We always set the Content-Length header for these methods because some
151155
# servers will otherwise respond with a 411
152156
_METHODS_EXPECTING_BODY = {'PATCH', 'POST', 'PUT'}
@@ -1087,6 +1091,8 @@ def putrequest(self, method, url, skip_host=False,
10871091
else:
10881092
raise CannotSendRequest(self.__state)
10891093

1094+
self._validate_method(method)
1095+
10901096
# Save the method for use later in the response phase
10911097
self._method = method
10921098

@@ -1177,6 +1183,15 @@ def _encode_request(self, request):
11771183
# ASCII also helps prevent CVE-2019-9740.
11781184
return request.encode('ascii')
11791185

1186+
def _validate_method(self, method):
1187+
"""Validate a method name for putrequest."""
1188+
# prevent http header injection
1189+
match = _contains_disallowed_method_pchar_re.search(method)
1190+
if match:
1191+
raise ValueError(
1192+
f"method can't contain control characters. {method!r} "
1193+
f"(found at least {match.group()!r})")
1194+
11801195
def _validate_path(self, url):
11811196
"""Validate a url for putrequest."""
11821197
# Prevent CVE-2019-9740.

PythonLib/full/idlelib/NEWS.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
What's New in IDLE 3.8.4
2-
Released on 2020-07-03?
1+
What's New in IDLE 3.8.5
2+
Released on 2020-07-20
33
======================================
44

55

6+
bpo-41300: Save files with non-ascii chars. Fix regression in
7+
3.9.0b4 and 3.8.4.
8+
9+
What's New in IDLE 3.8.4
10+
Released on 2020-06-30
11+
======================================
12+
613
bpo-37765: Add keywords to module name completion list. Rewrite
714
Completions section of IDLE doc.
815

PythonLib/full/idlelib/iomenu.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import io
12
import os
23
import shlex
34
import sys

PythonLib/full/pydoc_data/topics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Autogenerated by Sphinx on Mon Jul 13 13:47:56 2020
2+
# Autogenerated by Sphinx on Mon Jul 20 14:14:54 2020
33
topics = {'assert': 'The "assert" statement\n'
44
'**********************\n'
55
'\n'

PythonLib/full/tarfile.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,6 +1241,8 @@ def _proc_pax(self, tarfile):
12411241

12421242
length, keyword = match.groups()
12431243
length = int(length)
1244+
if length == 0:
1245+
raise InvalidHeaderError("invalid header")
12441246
value = buf[match.end(2) + 1:match.start(1) + length - 1]
12451247

12461248
# Normally, we could just use "utf-8" as the encoding and "strict"

PythonLib/full/venv/scripts/common/Activate.ps1

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -358,28 +358,28 @@ $Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
358358
# BAIBBQCggdAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIB
359359
# CzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIAa54uJnEb+7DCR7MaUT
360360
# o0aKTs9sLkFayZ5/pQ+1+8voMGQGCisGAQQBgjcCAQwxVjBUoFKAUABCAHUAaQBs
361-
# AHQAOgAgAFIAZQBsAGUAYQBzAGUAXwBtAGEAcwB0AGUAcgBfAHYAMwAuADgALgA0
362-
# AF8AMgAwADIAMAAwADcAMQAzAC4AMAAxMA0GCSqGSIb3DQEBAQUABIICAC/Bv7ma
363-
# 6D/zdiof3jV4D95eWqjo0IJgn/0bwDyZyLp6jctzhZZ5yEtEB3CFQONuDDilSzEA
364-
# xGMsJKMhfvcrCH05d/hOi3Vr/Bo00m3AJaMjfRpAkgac8DXgddgvBX2jLqFkfCfc
365-
# 6LGFqLxafor7EJ1W8lPI0kIsG7Pm4RBt6sE/dhbCt72KrzKUYz18kYjwomwh63lP
366-
# Cv3nZJy6a21u1F6zXjVUmlVy07R6Qz1gUHCsBd4qKK1tEcL4zV5gzqbXmoC7GM6J
367-
# Cc+GreiCZORXrn0K2HcHhwYjlykMowAYWpnUh94J9KLErNOqfMLcT7h/DBufuEMs
368-
# iU1dAm8yq6Htz8Fx/8bws02vfqxeqSUFCQlpt5q/eWn54b/TCFG0uICXg/iXCzeO
369-
# RmYqkPoHuAP29FZ6AtYccIo9MHu3e1VJR69uJ6dcvtrMLd+azyM9KAhwhqsVCq1z
370-
# hDFxqEEpn/Gn8Ke+thWNN6rQaYmwsZnqlTbXmMxpq2uG3Zbl5GhGwpo4sMWu2i/E
371-
# 50OlrrApLWAcCygUs1dYB7cOiRV0RgUaHKC0niYFSsSyk2aUzrt7iT6UDPSQk3HN
372-
# Ewz78WG5ZR+gMwJH3gSD1jQ8tjH0ZQ/rnpdr3C4jN4trKsNkklzb1nKNJgXxf9M4
373-
# LhPfed4ktsxQhzaWT6to1B6bkoP46ojWoy8zoYICCzCCAgcGCSqGSIb3DQEJBjGC
361+
# AHQAOgAgAFIAZQBsAGUAYQBzAGUAXwBtAGEAcwB0AGUAcgBfAHYAMwAuADgALgA1
362+
# AF8AMgAwADIAMAAwADcAMgAwAC4AMAAxMA0GCSqGSIb3DQEBAQUABIICAFg3EwBr
363+
# ToMgKMwSTOcujmhqoDp070+/0h95PSJYRRcX707Fk+Mc1f+m2ZUQvUptPsDVFB5v
364+
# 2rgihNuH21N6jBYl886DoyrPx3xBCmHrhqjDmxsI3s2pMz24W10SmzHIciRC2eaE
365+
# p1oBNYVqDml8t1XUDELJ8ZumXZyvHFg7aqnxqFopCJRl0/jJp+t0yl7E3DRr5Md5
366+
# dTtx04x4nG2jKF2v8K964TM6js4GGWMk6ZZJr/WNiyEqnRbiqREYvSGg4ruuz3Mr
367+
# KMDz0Dd8gzNNidHpkUswhL+81QvnRU3Wc7vDmiA/H8JoVtlFHbQy8CGBV0QpTQXf
368+
# bpgXXYx6Ij12Hp99gGsAKHhJ8pV4sNaugdPNd312qFiqTmrard9YBMcZmaamTcZq
369+
# IIVjfcryhIfUbbv8WlMarZUPFMCAOiLp5H7NohkJciM9oPHKsLbBIPjNPFEHs6T/
370+
# fSQDGhvZJcp+qplVF9tENCfhZXcWydNsXPgjCYHUSV42da9x7OUQuNPP1Lo4Ocbs
371+
# FKbApNVlJt+dSRaoQZ0viuJIqq9FRwMGAOo7l/NqqGr/Xc9f361Ux1XyNgSH3TTq
372+
# 4GXLdCfTvPpqjNT+JSWlhKBU6qaer0ZtDYibGjRNZovdtF4P4dGgJpcPS7C8WU5Z
373+
# k6fY7Iymi3zhtsFObCck9UhxlWECeEb6u8DfoYICCzCCAgcGCSqGSIb3DQEJBjGC
374374
# AfgwggH0AgEBMHIwXjELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENv
375375
# cnBvcmF0aW9uMTAwLgYDVQQDEydTeW1hbnRlYyBUaW1lIFN0YW1waW5nIFNlcnZp
376376
# Y2VzIENBIC0gRzICEA7P9DjI/r81bgTYapgbGlAwCQYFKw4DAhoFAKBdMBgGCSqG
377-
# SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIwMDcxMzE2NTAz
378-
# N1owIwYJKoZIhvcNAQkEMRYEFJQUANPb3dph7D+JPjIj60tSDGR8MA0GCSqGSIb3
379-
# DQEBAQUABIIBAFd+h16DGgs73F8dCTWaPiKfem+/GI9gNeI7XX9RoL09q36vik6N
380-
# GPnfvEFaaypo3tOoqjypNJ1ecKg6FsgL36RrbttIuw++hJ5cR0YZUfJPt79hoGRf
381-
# oVuPqfJ8W9KCsX9Kto8auGCyQWNbMpYRt3jjUeIkwUtgIAqLSLuaQhWBvudYm3j2
382-
# WQE9H6ozxBVc0ZK8OAtgOvfrCtUx8LdL8eglnqn73JnzcvYu47pyOMdi9zSMMiJk
383-
# 7keXnHehdSX/atU9vXTAnNEw6ANggOk0EzbGPoF8Not3zjFBf8/9FrVN7OJaV9Pq
384-
# 4Ytqoat07zJwIVGXsqPgFtNdutsC6+ZFZJw=
377+
# SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIwMDcyMDE2MDEy
378+
# OFowIwYJKoZIhvcNAQkEMRYEFO7wVdDn5z2aadmfHn304QcCt8vtMA0GCSqGSIb3
379+
# DQEBAQUABIIBAIEhdHyvoEfBOYDp61noPGP6NI2zqyY1//J7cSp64b6LxsgMRlBS
380+
# lHYzU3aBqE9LvBC7FOmvPsp6GPZ8+M1OAXuKYsPi+qPCRkOE24jQ422oUKsebzce
381+
# cKrQB8VaLwz90Onx6cZsmy1N7Rj+yGrmQW9FIbf7ba09Zody7xA0dHX1REEikMLG
382+
# wcL/YjJ3TmcBtRRzlXarYi7RVl91Iv4awRPjTb8TTCNpdYNk8hE7uvmH4Tf0URgb
383+
# ttcyJZg4DTFHac1XjsdbDnjk8dx6WPdgzS5BMzjT9sAjQjAp8MPoT6e1ODv37LZf
384+
# c/Ls7e0pR0R/7Vw01YEKyXTy9FBlGF6l+UU=
385385
# SIG # End signature block

PythonLib/full_dll/_asyncio.pyd

0 Bytes
Binary file not shown.

PythonLib/full_dll/_bz2.pyd

0 Bytes
Binary file not shown.

PythonLib/full_dll/_ctypes.pyd

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)