Skip to content

HTTPSConnection double wrapping IPv6 address during CONNECT #100985

@derekhiggins

Description

@derekhiggins

Bug report

when http.client.HTTPSConnection is used with IPv6 addresses and a proxy results in the "Host:" Header being
wrapped in square brackets twice. (e.g. Host: [[fd2e:6f44:5dd8:c956::15]]:5050 )

$ cat /tmp/proxy_test.py import http.client, ssl conn = http.client.HTTPSConnection("fd2e:6f44:5dd8:c956::1", 8215, context=ssl._create_unverified_context()) conn.set_tunnel("[fd2e:6f44:5dd8:c956::15]", 5050) conn.request("GET", "/", "") response = conn.getresponse() print(response.status, response.reason) $ python3 /tmp/proxy_test.py 400 Bad Request === tcp dump showing extra squar brackets in "Host:" header == CONNECT [fd2e:6f44:5dd8:c956::15]:5050 HTTP/1.0 HTTP/1.1 200 Connection established GET / HTTP/1.1 Host: [[fd2e:6f44:5dd8:c956::15]]:5050 Accept-Encoding: identity Content-Length: 0 HTTP/1.1 400 Bad Request Date: Thu, 12 Jan 2023 11:47:38 GMT Server: Apache Content-Length: 226 Connection: close Content-Type: text/html; charset=iso-8859-1 

Your environment

$ cat /etc/redhat-release
Red Hat Enterprise Linux CoreOS release 4.12

$ rpm -qf /usr/bin/python3
python3-3.9.10-4.el9_0.x86_64

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    stdlibStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions