Skip to content
Permalink
Branch: 2.7
Commits on Apr 19, 2020
  1. Add empty 2.7.18 NEWS file.

    benjaminp committed Apr 19, 2020
  2. Bump version to 2.7.18.

    benjaminp committed Apr 19, 2020
Commits on Apr 18, 2020
Commits on Apr 4, 2020
  1. Bump version to 2.7.18rc1.

    benjaminp committed Apr 4, 2020
  2. Update macOS installer build for 2.7.18 end-of-life. (GH-19352)

    ned-deily committed Apr 4, 2020
Commits on Apr 1, 2020
  1. [2.7] closes bpo-40125: Update multissltests.py to use OpenSSL 1.1.1f. (

    benjaminp committed Apr 1, 2020
    GH-19251)
    
    (cherry picked from commit cd16661)
Commits on Mar 19, 2020
  1. [2.7] closes bpo-38576: Disallow control characters in hostnames in h…

    mcepl and epicfaace committed Mar 19, 2020
    …ttp.client. (GH-19052)
    
    Add host validation for control characters for more
    CVE-2019-18348 protection.
    (cherry picked from commit 83fc701)
    
    Co-authored-by: Ashwin Ramaswami <aramaswamis@gmail.com>
Commits on Jan 7, 2020
  1. Doc: Change Python 2 status to EOL. (GH-17885)

    miss-islington and methane committed Jan 7, 2020
    (cherry picked from commit f4800b8)
    
    Co-authored-by: Inada Naoki <songofacandy@gmail.com>
Commits on Jan 4, 2020
  1. bpo-27973 - Use test.support.temp_dir instead of NamedTemporaryFile f…

    orsenthil committed Jan 4, 2020
    …or the (#17774)
    
    desired behavior under windows platform.
    
    Suggestion by David Bolen
Commits on Jan 3, 2020
  1. Update copyright year in macOS installer license copy (GH-17806)

    miss-islington and ned-deily committed Jan 3, 2020
    (cherry picked from commit 32f1443)
    
    Co-authored-by: Ned Deily <nad@python.org>
  2. [2.7] Bring Python into the next decade. (GH-17805)

    benjaminp committed Jan 3, 2020
    (cherry picked from commit 946b29e)
    
    Co-authored-by: Benjamin Peterson <benjamin@python.org>
Commits on Dec 31, 2019
  1. [2.7] bpo-27973 - Fix for urllib.urlretrieve() failing on second ftp …

    orsenthil committed Dec 31, 2019
    …transfer (#1040)
    
    * bpo-27973: Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host.
    
    * bpo-35411: Skip test_urllibnet FTP tests on Travis CI.
Commits on Dec 25, 2019
  1. [2.7] Minor C API documentation improvements. (GH-17699)

    benjaminp and WillAyd committed Dec 25, 2019
    (cherry picked from commit 5c7ed75)
    
    Co-authored-by: William Ayd <william.ayd@icloud.com>
Commits on Dec 17, 2019
  1. bpo-38295: prevent test_relative_path of test_py_compile failure on m…

    miss-islington and ned-deily committed Dec 17, 2019
    …acOS Catalina (GH-17636)
    
    (cherry picked from commit bf3aa10)
    
    Co-authored-by: Ned Deily <nad@python.org>
  2. bpo-38730: Replace strncpy in import.c with memcpy. (GH-17633)

    benjaminp committed Dec 17, 2019
    In all these cases, we know the exact length we want copied, so memcpy is the right function to use.
Commits on Dec 14, 2019
Commits on Dec 3, 2019
  1. [2.7] bpo-38945: UU Encoding: Don't let newline in filename corrupt t…

    stealthcopter authored and gvanrossum committed Dec 3, 2019
    …he output format (GH-17418). (#17452)
    
    (cherry picked from commit a62ad47)
    
    Co-authored-by: Matthew Rollings <1211162+stealthcopter@users.noreply.github.com>
Commits on Dec 1, 2019
  1. document threading.Lock.locked() (GH-17427)

    miss-islington and idomic committed Dec 1, 2019
    (cherry picked from commit fdafa1d)
    
    Co-authored-by: idomic <michael.ido@gmail.com>
Commits on Nov 24, 2019
  1. bpo-38804: Fix REDoS in http.cookiejar (GH-17157) (GH-17345)

    vstinner committed Nov 24, 2019
    The regex http.cookiejar.LOOSE_HTTP_DATE_RE was vulnerable to regular
    expression denial of service (REDoS).
    
    LOOSE_HTTP_DATE_RE.match is called when using http.cookiejar.CookieJar
    to parse Set-Cookie headers returned by a server.
    Processing a response from a malicious HTTP server can lead to extreme
    CPU usage and execution will be blocked for a long time.
    
    The regex contained multiple overlapping \s* capture groups.
    Ignoring the ?-optional capture groups the regex could be simplified to
    
        \d+-\w+-\d+(\s*\s*\s*)$
    
    Therefore, a long sequence of spaces can trigger bad performance.
    
    Matching a malicious string such as
    
        LOOSE_HTTP_DATE_RE.match("1-c-1" + (" " * 2000) + "!")
    
    caused catastrophic backtracking.
    
    The fix removes ambiguity about which \s* should match a particular
    space.
    
    You can create a malicious server which responds with Set-Cookie headers
    to attack all python programs which access it e.g.
    
        from http.server import BaseHTTPRequestHandler, HTTPServer
    
        def make_set_cookie_value(n_spaces):
            spaces = " " * n_spaces
            expiry = f"1-c-1{spaces}!"
            return f"b;Expires={expiry}"
    
        class Handler(BaseHTTPRequestHandler):
            def do_GET(self):
                self.log_request(204)
                self.send_response_only(204)  # Don't bother sending Server and Date
                n_spaces = (
                    int(self.path[1:])  # Can GET e.g. /100 to test shorter sequences
                    if len(self.path) > 1 else
                    65506  # Max header line length 65536
                )
                value = make_set_cookie_value(n_spaces)
                for i in range(99):  # Not necessary, but we can have up to 100 header lines
                    self.send_header("Set-Cookie", value)
                self.end_headers()
    
        if __name__ == "__main__":
            HTTPServer(("", 44020), Handler).serve_forever()
    
    This server returns 99 Set-Cookie headers. Each has 65506 spaces.
    Extracting the cookies will pretty much never complete.
    
    Vulnerable client using the example at the bottom of
    https://docs.python.org/3/library/http.cookiejar.html :
    
        import http.cookiejar, urllib.request
        cj = http.cookiejar.CookieJar()
        opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
        r = opener.open("http://localhost:44020/")
    
    The popular requests library was also vulnerable without any additional
    options (as it uses http.cookiejar by default):
    
        import requests
        requests.get("http://localhost:44020/")
    
    * Regression test for http.cookiejar REDoS
    
    If we regress, this test will take a very long time.
    
    * Improve performance of http.cookiejar.ISO_DATE_RE
    
    A string like
    
    "444444" + (" " * 2000) + "A"
    
    could cause poor performance due to the 2 overlapping \s* groups,
    although this is not as serious as the REDoS in LOOSE_HTTP_DATE_RE was.
    
    (cherry picked from commit 1b779bf)
Commits on Nov 7, 2019
  1. [2.7] bpo-38730: Fix -Wstringop-truncation warnings. (GH-17075)

    benjaminp committed Nov 7, 2019
  2. bpo-37731: Squish another _POSIX_C_SOURCE redefinition problem in exp…

    benjaminp committed Nov 7, 2019
    …at. (GH-17077)
  3. bpo-37731: Reorder includes in xmltok.c to avoid redefinition of _POS…

    miss-islington and pablogsal committed Nov 7, 2019
    …IX_C_SOURCE (GH-16733)
    
    (cherry picked from commit 8177404)
    
    Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
Commits on Oct 26, 2019
  1. bpo-38557: Improve documentation for list and tuple C API. (GH-16925)

    miss-islington and serhiy-storchaka committed Oct 26, 2019
    (cherry picked from commit d898d20)
    
    Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
  2. [2.7] bpo-38535: Fix positions for AST nodes for calls without argume…

    serhiy-storchaka committed Oct 26, 2019
    …nts in decorators. (GH-16861). (GH-16931)
    
    (cherry picked from commit 26ae9f6)
Commits on Oct 23, 2019
  1. Update URL in macOS installer copy of license (GH-16905)

    miss-islington and ned-deily committed Oct 23, 2019
    (cherry picked from commit 01659ca)
    
    Co-authored-by: Ned Deily <nad@python.org>
  2. bpo-37025: AddRefActCtx() shouldn't be checked for failure (GH-16897)

    ZackerySpytz authored and zooba committed Oct 23, 2019
    AddRefActCtx() does not return a value.
Commits on Oct 22, 2019
  1. Fix Zope URL (GH-16880)

    miss-islington and aeros committed Oct 22, 2019
    (cherry picked from commit dfe726b)
    
    Co-authored-by: Kyle Stanley <aeros167@gmail.com>
Commits on Oct 21, 2019
  1. [2.7] bpo-38540: Fix possible leak in PyArg_Parse for "es#" and "et#". (

    serhiy-storchaka committed Oct 21, 2019
    GH-16869). (GH-16877)
    
    (cherry picked from commit 5bc6a7c)
Commits on Oct 20, 2019
  1. Work around Path.glob() issue when creating nuget package (GH-16855)

    zooba committed Oct 20, 2019
Commits on Oct 19, 2019
  1. 2.2.17+

    benjaminp committed Oct 19, 2019
  2. Empty blurb file for 2.7.17.

    benjaminp committed Oct 19, 2019
Older
You can’t perform that action at this time.