Skip to content
Permalink
Branch: 2.7
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
  3. Update doc switcher list for 3.8.0 (GH-16809)

    miss-islington and ned-deily committed Oct 19, 2019
    (cherry picked from commit 3f36043)
    
    Co-authored-by: Ned Deily <nad@python.org>
  4. Update build docs for macOS (GH-16844)

    ned-deily committed Oct 19, 2019
Commits on Oct 18, 2019
  1. bpo-32758: Warn that ast.parse() and ast.literal_eval() can segfault …

    2 people authored and serhiy-storchaka committed Oct 18, 2019
    …the interpreter (GH-5960) (GH-16565)
    
    (cherry picked from commit 7a7f100)
    
    Co-authored-by: Brett Cannon <brettcannon@users.noreply.github.com>
  2. bpo-32758: Warn that compile() can crash when compiling to an AST obj…

    2 people authored and serhiy-storchaka committed Oct 18, 2019
    …ect (GH-6043) (GH-16566)
    
    (cherry picked from commit f7a6ff6)
    
    Co-authored-by: Brett Cannon <brettcannon@users.noreply.github.com>
Commits on Oct 14, 2019
  1. Doc: 3.8 is now stable. (GH-16790) (GH-16794)

    2 people authored and ned-deily committed Oct 14, 2019
    (cherry picked from commit 4504b45)
    
    Co-authored-by: Julien Palard <julien@palard.fr>
  2. [2.7] Update macOS installer display files for 2.7.17 (GH-16768)

    ned-deily committed Oct 14, 2019
Commits on Oct 8, 2019
  1. [2.7] bpo-31036: Allow sphinx and blurb to be found automatically (GH…

    benjaminp and ned-deily committed Oct 8, 2019
    …-16638)
    
    Rather than requiring the path to blurb and/or sphinx-build to be specified to the make rule, enhance the Doc/Makefile to look for each first in a virtual environment created by make venv and, if not found, look on the normal process PATH. This allows the Doc/Makefile to take advantage of an installed spinx-build or blurb and, thus, do the right thing most of the time. Also, make the directory for the venv be configurable and document the `make venv` target..
    (cherry picked from commit 590665c)
    
    Co-authored-by: Ned Deily <nad@python.org>
  2. bpo-35036: Remove empty log line in the suspicious.py tool (GH-10024)

    miss-islington and tirkarthi committed Oct 8, 2019
    Previous to commit ee171a2 the logline was working because of self.info() (now
    deprecated) defaults to an empty message.
    (cherry picked from commit c3f52a5)
    
    Co-authored-by: Xtreak <tirkarthi@users.noreply.github.com>
  3. bpo-31589 : Build PDF using xelatex for better UTF8 support. (GH-3940)

    miss-islington and JulienPalard committed Oct 8, 2019
    Also addresses doc build failures documented in bpo-32200.
    (cherry picked from commit 7324b5c)
    
    Co-authored-by: Julien Palard <julien@palard.fr>
Older
You can’t perform that action at this time.